#codethanksfestival2015f. [code_thanks_festival_2015_f]お祭りとお菓子
[code_thanks_festival_2015_f]お祭りとお菓子
問題文
さんと さんはお祭りに参加しています。
お祭りで 個の実と 本の枝からなるお菓子をもらいました。実には から までの番号が付けられており、枝には から までの番号が付けられています。枝 は実 と実 を結んでいます。また、実 と他のどの実についても、枝を介して連結です。すなわち、 を満たすすべての整数 について、ある数列 , ... , ( かつ を満たすどの整数 についても ) が存在し、その数列は以下の条件を満たします。
- 枝 が結ぶ実に実 がある。
- を満たす任意の整数 に関して、枝 が結ぶ実と枝 が結ぶ実に共通して登場する実がある。
- 枝 が結ぶ実に実 がある。
さんと さんは、 さんから始めて交互に実や枝を食べていきます。 さんあるいは さんは自分の手番において、枝が 本以下しか接続されていない実を選んで、その実およびその実と直接接続している枝すべてを同時に食べます。 本以上の枝と接続されている実はその時点ではまだ食べにくく、無理に食べようとすると口がベトベトになってしまいます。
また、実 は特別美味しいため、 さんも さんも自分の手番で実 が食べられるように行動します。
双方が最善を尽くしたときに、一体どちらが実 を食べることになるでしょうか。
入力
入力は以下の形式で標準入力から与えられる。
:
- 行目には、実の個数 が与えられる。
- 行目から 行には、枝に関する情報が与えられる。このうち 行目には つの整数 , が空白区切りで与えられる。これは枝 が実 と実 を結んでいることを表す。
出力
さんが実 を食べる場合は文字 A
を、 さんが実 を食べる場合は文字 B
を 行に出力せよ。出力の末尾にも改行を入れること。
入力例1
6
1 2
1 3
2 4
3 5
3 6
出力例1
A
最初に さんが実 を食べたとします。このとき、 さんが食べられる実は実 , , のいずれかです。
- さんが実 を食べたならば、直後に さんが実 を食べることができます。
- さんが実 を食べたならば、直後に さんが実 を食べる選択をとったときに、次の手番で さんは実 か実 を食べることになり、その直後 さんが実 を食べることができます。
- さんが実 を食べたならば、直後に さんが実 を食べる選択をとったときに、次の手番で さんは実 か実 を食べることになり、その直後 さんが実 を食べることができます。
以上より両者が最善を尽くしたときに実 を食べることができるのは さんです。
入力例2
5
1 2
2 3
2 4
2 5
出力例2
A
最初に さんが実 を食べることができます。
入力例3
9
1 2
1 3
1 4
3 5
4 6
4 7
7 8
7 9
出力例3
B