結果
問題 |
No.2085 Directed Complete Graph
|
ユーザー |
👑 ![]() |
提出日時 | 2023-05-11 23:47:00 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 307 ms / 2,000 ms |
コード長 | 801 bytes |
コンパイル時間 | 301 ms |
コンパイル使用メモリ | 82,560 KB |
実行使用メモリ | 93,884 KB |
平均クエリ数 | 2458.59 |
最終ジャッジ日時 | 2024-11-27 19:20:37 |
合計ジャッジ時間 | 6,343 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 15 |
ソースコード
""" https://yukicoder.me/problems/no/2085 これは典型! マージソートだけど、回数足りるのか…? """ import sys from sys import stdin from collections import deque import heapq N = int(stdin.readline()) q = [] for i in range(N): heapq.heappush(q, [1,[i+1]]) while len(q) > 1: _,A = heapq.heappop(q) _,B = heapq.heappop(q) A = deque(A) B = deque(B) C = [] while A and B: print ("?",A[0],B[0],flush=True) cat = int(stdin.readline()) if cat == 1: C.append(A.popleft()) else: C.append(B.popleft()) while A: C.append(A.popleft()) while B: C.append(B.popleft()) heapq.heappush(q, [len(C),C]) print ("!") print (len(q[0][1])-1) print (*q[0][1])