結果

問題 No.850 企業コンテスト2位
ユーザー tamatotamato
提出日時 2021-08-13 09:25:10
言語 PyPy3
(7.3.15)
結果
AC  
実行時間 87 ms / 2,000 ms
コード長 803 bytes
コンパイル時間 344 ms
コンパイル使用メモリ 82,304 KB
実行使用メモリ 76,504 KB
平均クエリ数 200.11
最終ジャッジ日時 2024-10-02 17:26:16
合計ジャッジ時間 4,458 ms
ジャッジサーバーID
(参考情報)
judge3 / judge2
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 64 ms
68,952 KB
testcase_01 AC 64 ms
68,952 KB
testcase_02 AC 65 ms
68,952 KB
testcase_03 AC 64 ms
69,208 KB
testcase_04 AC 64 ms
68,696 KB
testcase_05 AC 64 ms
69,080 KB
testcase_06 AC 64 ms
69,464 KB
testcase_07 AC 70 ms
69,976 KB
testcase_08 AC 75 ms
70,104 KB
testcase_09 AC 73 ms
70,104 KB
testcase_10 AC 87 ms
75,512 KB
testcase_11 AC 82 ms
75,352 KB
testcase_12 AC 86 ms
76,448 KB
testcase_13 AC 86 ms
76,120 KB
testcase_14 AC 85 ms
75,728 KB
testcase_15 AC 84 ms
75,864 KB
testcase_16 AC 82 ms
75,736 KB
testcase_17 AC 84 ms
75,608 KB
testcase_18 AC 84 ms
75,608 KB
testcase_19 AC 84 ms
75,992 KB
testcase_20 AC 79 ms
75,704 KB
testcase_21 AC 87 ms
75,608 KB
testcase_22 AC 87 ms
75,992 KB
testcase_23 AC 86 ms
76,120 KB
testcase_24 AC 86 ms
75,736 KB
testcase_25 AC 86 ms
75,992 KB
testcase_26 AC 87 ms
76,504 KB
testcase_27 AC 65 ms
68,320 KB
権限があれば一括ダウンロードができます

ソースコード

diff #

mod = 1000000007
eps = 10**-9


def main():
    import sys
    input = sys.stdin.readline

    def ask(x, y):
        print("?", x, y)
        sys.stdout.flush()
        return int(input())

    N = int(input())
    st = list(range(1, N+1))
    op = [[] for _ in range(N+1)]
    while len(st) > 1:
        st_new = []
        for i in range(len(st) // 2):
            x = st[i * 2]
            y = st[i * 2 + 1]
            op[x].append(y)
            op[y].append(x)
            z = ask(x, y)
            st_new.append(z)
        if len(st) & 1:
            st_new.append(st[-1])
        st = st_new
    first = st[0]
    second_list = op[first]
    x = second_list[0]
    for y in second_list[1:]:
        x = ask(x, y)
    print("!", x)
    sys.stdout.flush()


if __name__ == '__main__':
    main()
0