結果
問題 | No.2965 Don't Stop the Game again |
ユーザー |
![]() |
提出日時 | 2024-10-28 23:52:11 |
言語 | PyPy3 (7.3.15) |
結果 |
RE
|
実行時間 | - |
コード長 | 887 bytes |
コンパイル時間 | 448 ms |
コンパイル使用メモリ | 82,328 KB |
実行使用メモリ | 83,924 KB |
平均クエリ数 | 288.96 |
最終ジャッジ日時 | 2024-10-28 23:52:20 |
合計ジャッジ時間 | 8,503 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 43 RE * 2 |
ソースコード
N = 50P = int(input())Q = list(map(int, input().split()))idx_one = -1for i in range(len(Q)):if Q[i] == 1:idx_one = ibreakops = []for j in range(N):ops.append((1, j + 1))idxs = []for i in range(N):if i != idx_one:idxs.append(i)pp = 1while (1 << pp) < P:pp += 1prev = idx_onefor i in range(pp):ops.append((4, prev + 1, prev + 1, idxs[i] + 1))prev = idxs[i]tas = []now = Pfor i in range(pp):if (now >> i) & 1:tas.append(idxs[i])if len(tas) == 1:idxs[pp] = tas[0]else:ops.append((4, tas[0] + 1, tas[1] + 1, idxs[pp] + 1))for i in range(2, len(tas)):ops.append((4, tas[i] + 1, idxs[pp] + 1, idxs[pp] + 1))for i in range(N):if not i in [idx_one, idxs[pp]]:ops.append((3, idxs[pp] + 1, i + 1, i + 1))print(len(ops))for op in ops:print(op[0])print(*op[1:])