結果
| 問題 |
No.862 XORでX
|
| コンテスト | |
| ユーザー |
AngrySadEight
|
| 提出日時 | 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])
AngrySadEight