atcoder#ABC166F. [ABC166F] Three Variables Game
[ABC166F] Three Variables Game
配点 : 点
問題文
あるゲームでは つの変数があり、それぞれ で表されます。
ゲームの進行と共に、あなたは 回の選択に迫られます。
それぞれの選択は文字列 によって示され、
が AB
のとき、 と のどちらかに を足しもう一方から を引くこと、
AC
のとき、 と のどちらかに を足しもう一方から を引くこと、
BC
のとき、 と のどちらかに を足しもう一方から を引くことを意味します。
いずれの選択の後にも、 のいずれも負の値になってはいけません。
この条件を満たしつつ 回すべての選択を終えることが可能であるか判定し、可能であるならそのような選択方法をひとつ示してください。
制約
- は整数である。
- は
AB
,AC
,BC
のいずれか
入力
入力は以下の形式で標準入力から与えられる。
出力
条件を満たしつつ 個すべての選択を終えることが可能である場合は Yes
を、そうでない場合は No
を出力せよ。
加えて、前者の場合は続く 行に選択方法を示せ。 行目には 回目の選択で を足す変数の名前 (A
, B
, C
のいずれか) を出力せよ。
2 1 3 0
AB
AC
Yes
A
C
次のようにすることで 回すべての選択を終えることができます。
- 回目の選択では、 に を足し から を引く。 の値が に、 の値が に変化する。
- 回目の選択では、 に を足し から を引く。 の値が に、 の値が に変化する。
3 1 0 0
AB
BC
AB
No
1 0 9 0
AC
No
8 6 9 1
AC
BC
AB
BC
AC
BC
AB
AB
Yes
C
B
B
C
C
B
A
A