結果
問題 |
No.282 おもりと天秤(2)
|
ユーザー |
|
提出日時 | 2015-09-19 01:59:08 |
言語 | Python2 (2.7.18) |
結果 |
AC
|
実行時間 | 1,759 ms / 5,000 ms |
コード長 | 712 bytes |
コンパイル時間 | 684 ms |
コンパイル使用メモリ | 7,040 KB |
実行使用メモリ | 25,472 KB |
平均クエリ数 | 220.33 |
最終ジャッジ日時 | 2024-07-16 21:28:15 |
合計ジャッジ時間 | 16,926 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 24 |
ソースコード
import sys def puts(s): print s sys.stdout.flush() N = int(raw_input()) win = [0] * N even = 1 - N % 2 M = N - even circle = [[i + 1, M - i - 1] for i in xrange((N - 1) / 2)] for i in xrange(M): pair = [[(p + i) % M + 1, (q + i) % M + 1] for p, q in circle] if even: pair += [[i + 1, N]] pair += [[0, 0] for i in xrange(N - len(pair))] query = "? " + " ".join(" ".join(map(str, p)) for p in pair) puts(query) reply = raw_input().split() for i, s in enumerate(reply): p, q = pair[i] if s == ">": win[p - 1] += 1 if s == "<": win[q - 1] += 1 ans = [0] * N for i, r in enumerate(win, 1): ans[r] = i puts("! " + " ".join(map(str, ans)))