S - Association
解説を見る- 実行時間制限:5000 ms
- メモリ制限:1073741824 Bytes
- 配点:100 点
- ジャッジ:Batch
- 使用可能言語:All Batch Languages (dc (GNU dc), C++ (gcc), C (gcc), Python3 (CPython), Text (cat), Bash, Brainfuck, codon)
問題文
ある日,GyaosくんはImosちゃんと 人で連想ゲームをすることになりました.
Imosちゃんは 以上 以下の整数 を思い浮かべているとき, 回連想すると, 以上 以下の整数 を代わりに思い浮かべます.
Imosちゃん「やっぱり, といったら だよねー」
Gyaosくん「、、、ん?」
GyaosくんはImosちゃんの連想のルールが全く分かりません.この時,Imosちゃんは 回の発言を行います.発言の内容は以下のうちの つです.
Case1. 「やっぱり, といったら だよねー」
Case2. 「私さっき を 回連想したから,今思い浮かべている数字分かる?」
Case1 のとき,1 A B が与えられます.このとき, であることを意味し,これは不変です.また,Gyaosくんはそれを理解します.
Case2 のとき,2 X Y が与えられます.このとき,現時点でGyaosくんが理解している情報のみを用いてImosちゃんの質問の答えを出力してください.もし答えが つに定まらないときは,-1 と出力してください.
制約
- は整数
- Case1 のとき, は整数で,
- Case1 のとき, は整数で,
- Case2 のとき, は整数で,
- Case2 のとき, は整数で,
小課題
- (20点)
- (40点) , 始めの 回の発言でGyaosくんはImosちゃんの連想のルールをすべて理解する
- (40点) 追加の制約はない
入力
入力は以下の形式で標準入力から与えられる.
ここで は 番目の発言を表し,以下のいずれかの形式で与えられる.
出力
問題文の指示に従ってすべての出力を改行区切りで出力せよ.
入力例1
3 7 1 1 2 2 2 1 1 2 3 2 1 2 1 3 1 2 2 3 2 3 9
出力例1
-1 3 2 3
- 番目の発言:「やっぱり, といったら だよねー」
- 番目の発言:「私さっき を 回連想したから,今思い浮かべている数字分かる?」
このとき,Gyaosくんは を 回連想したとき であることしか理解していません.よって,思い浮かべている数字を一つに定めることができないので-1と出力します. - 番目の発言:「やっぱり, といったら だよねー」
- 番目の発言:「私さっき を 回連想したから,今思い浮かべている数字分かる?」
このとき,Gyaosくんは を 回連想すると になり, を 回連想すると になることを理解しています.したがって, を 回連想すると となることがわかるので3と出力します. - 番目の発言:「やっぱり, といったら だよねー」
- 番目の発言:「私さっき を 回連想したから,今思い浮かべている数字分かる?」
を 回連想すると となるので,2と出力します. - 番目の発言:「私さっき を 回連想したから,今思い浮かべている数字分かる?」
を 回連想すると となるので,3と出力します.
この入力例は小課題1,3の制約を満たします.
入力例2
5 3 1 1 2 1 1 2 1 3 1
出力例2
同じ入力を受け取ることや,一度も出力しないこともあります.
この入力例は小課題1,3の制約を満たします.