atcoder#ABC166F. [ABC166F] Three Variables Game
[ABC166F] Three Variables Game
题目描述
あるゲームでは つの変数があり、それぞれ で表されます。
ゲームの進行と共に、あなたは 回の選択に迫られます。 それぞれの選択は文字列 によって示され、 が AB
のとき、 と のどちらかに を足しもう一方から を引くこと、 AC
のとき、 と のどちらかに を足しもう一方から を引くこと、 BC
のとき、 と のどちらかに を足しもう一方から を引くことを意味します。
いずれの選択の後にも、 のいずれも負の値になってはいけません。
この条件を満たしつつ 回すべての選択を終えることが可能であるか判定し、可能であるならそのような選択方法をひとつ示してください。
输入格式
入力は以下の形式で標準入力から与えられる。
输出格式
条件を満たしつつ 個すべての選択を終えることが可能である場合は Yes
を、そうでない場合は No
を出力せよ。
加えて、前者の場合は続く 行に選択方法を示せ。 行目には 回目の選択で を足す変数の名前 (A
, B
, C
のいずれか) を出力せよ。
题目大意
你开始有三个变量,,,它们各自有一个值.
你需要依次进行次操作,对于每次操作,有一个参数,这个参数只可能是"AB","AC","BC"中的一个.
当s="AB"时,你可以选择以下方案中的一种:
当s="AC"时,你可以选择以下方案中的一种:
当s="BC"时,你可以选择以下方案中的一种:
若存在一种选择操作的方案使每次操作结束之后,,均为自然数,输出"Yes",并依次输出每次操作中变大的变量名.否则输出"No".
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
提示
制約
- は整数である。
- は
AB
,AC
,BC
のいずれか
Sample Explanation 1
次のようにすることで 回すべての選択を終えることができます。 - 回目の選択では、 に を足し から を引く。 の値が に、 の値が に変化する。 - 回目の選択では、 に を足し から を引く。 の値が に、 の値が に変化する。