結果
問題 |
No.862 XORでX
|
ユーザー |
![]() |
提出日時 | 2025-01-11 03:17:24 |
言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
結果 |
AC
|
実行時間 | 185 ms / 2,000 ms |
コード長 | 2,071 bytes |
コンパイル時間 | 776 ms |
コンパイル使用メモリ | 12,288 KB |
実行使用メモリ | 14,464 KB |
最終ジャッジ日時 | 2025-01-11 03:17:31 |
合計ジャッジ時間 | 6,542 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 28 |
ソースコード
N, X = map(int, input().split()) ans = [] if X == 1: if N % 4 == 1: ans.append(1) elif N % 4 == 2: ans.append(2) ans.append(3) elif N % 4 == 3: ans.append(3) ans.append(4) ans.append(6) elif N % 4 == 0: ans.append(1) ans.append(2) ans.append(4) ans.append(6) now = 8 while len(ans) < N: for j in range(4): ans.append(now + j) now += 4 elif X == 2: if N % 4 == 1: ans.append(2) elif N % 4 == 2: ans.append(1) ans.append(3) elif N % 4 == 3: ans.append(3) ans.append(6) ans.append(7) elif N % 4 == 0: ans.append(2) ans.append(3) ans.append(4) ans.append(7) now = 8 while len(ans) < N: for j in range(4): ans.append(now + j) now += 4 elif X == 3: if N % 4 == 1: ans.append(3) elif N % 4 == 2: ans.append(1) ans.append(2) elif N % 4 == 3: ans.append(1) ans.append(4) ans.append(6) elif N % 4 == 0: ans.append(2) ans.append(3) ans.append(4) ans.append(6) now = 8 while len(ans) < N: for j in range(4): ans.append(now + j) now += 4 else: if N % 4 == 1: ans.append(X) elif N % 4 == 2: if X % 4 == 0: ans.append(X + 1) ans.append(1) else: ans.append(X - X % 4) ans.append(X % 4) elif N % 4 == 3: for j in range(4): if j != X % 4: ans.append(X - X % 4 + j) else: ans.append(X) ans.append(1) ans.append(2) ans.append(3) now = 4 while len(ans) < N: if now // 4 == X // 4: now += 4 continue for j in range(4): ans.append(now + j) now += 4 # ans.sort() assert min(ans) >= 1 assert max(ans) <= 100005 assert len(ans) == N for j in range(len(ans)): print(ans[j])