No.246 質問と回答
この問題はリアクティブ形式の問題です!通常の問題と形式が異なることに注意してください!!!
問題文
kamipeipaa君は
その代わり「
kamipeipaa君は多忙なので
入出力
あなたが提出したプログラム(以下、回答プログラムとする)は2種類のクエリを標準出力に出力しなければならない。
クエリは
質問クエリのフォーマットは
"
回答クエリのフォーマットは
"
各クエリは、行末に改行してください。
質問クエリを行うと、応答プログラムから回答プログラムの標準入力に結果が返される。
出力後に、出力をflushせよ。flushしなかった場合、応答プログラムが入力を処理できず制限時間を超えてしまい、その結果不正解となることがある。
また、質問クエリの実行後必ずその結果を受け取ること。応答プログラムが入力を処理できず不正解の原因となることがある。
回答クエリの実行後、プログラムをただちに終了すること。ジャッジの制限時間を超えた結果として不正解となることがある。
この問題はスペシャルジャッジである。ジャッジの制限時間以内に終了し、質問回数が
注意点
- 質問クエリ及び回答クエリにおいて
が bit符号付整数に収まらない範囲の場合の結果は不定である。 - ジャッジの制限時間は
秒としているが、応答プログラムの反応時間をも含めている。 - 2種類のクエリ以外の出力を行った場合は不正解となる。
- 標準エラー出力への出力は質問クエリとも回答クエリとも不正な出力ともみなされない。
プログラムの例
import sys iter = 1 res = 1 while iter <= 4: print ("? %d" % iter) sys.stdout.flush() res = int(input()) iter += 1 if res==1: print("! %d" % res) else: print("! %d" % 2) sys.stdout.flush()
サンプル
サンプル1
回答プログラムの出力
? 1 ? 2 ? 3 ? 4 ! 2
応答プログラムの出力
1 1 0 0
1行目において回答プログラムは質問クエリを出力し、1以上であると応答プログラムは出力した。
2行目において回答プログラムは質問クエリを出力し、2以上であると応答プログラムは出力した。
3行目において回答プログラムは質問クエリを出力し、3以上でないと応答プログラムは出力した。
4行目において回答プログラムは質問クエリを出力し、4以上でないと応答プログラムは出力した。
5行目において回答プログラムは回答クエリを出力し
2以上であって3以上でない整数は2以外にはないため、正解である。
提出するには、Twitter 、GitHub、 Googleもしくは右上の雲マークをクリックしてアカウントを作成してください。