結果

問題 No.862 XORでX
コンテスト
ユーザー titia
提出日時 2026-07-28 03:42:22
言語 PyPy3
(7.3.17)
コンパイル:
pypy3 -mpy_compile _filename_
実行:
pypy3 _filename_
結果
WA  
実行時間 -
コード長 958 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 807 ms
コンパイル使用メモリ 95,600 KB
実行使用メモリ 92,160 KB
最終ジャッジ日時 2026-07-28 03:42:35
合計ジャッジ時間 6,317 ms
ジャッジサーバーID
(参考情報)
judge3_0 / judge2_0
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 4
other AC * 24 WA * 4
権限があれば一括ダウンロードができます

ソースコード

diff #
raw source code

import sys
input = sys.stdin.readline

N,X=list(map(int,input().split()))

A=[]
USE=[0]*(10**5+5)

now=4
while N>4:
    if now<=X<now+4:
        now+=4
    else:
        A.append(now)
        A.append(now+1)
        A.append(now+2)
        A.append(now+3)
        now+=4
        N-=4
        
    
for a in A:
    USE[a]=1

S=[]
if sum(USE)>=10**5-10:
    for i in range(1,10**5+5):
        if USE[i]==0:
            S.append(i)

else:
    LIST=[1,2,3,10**5,10**5+1,10**5+2,10**5+3,10**5+4]
    k=X//4*4
    for i in range(k,k+4):
        LIST.append(i)

    LIST=sorted(set(LIST))

    for x in LIST:
        if USE[x]==0:
            S.append(x)

for i in range(1<<len(S)):
    if i.bit_count()==N:
        score=0
        L=[]
        for j in range(len(S)):
            if i & (1<<j) != 0:
                score^=S[j]
                L.append(S[j])

        if score==X:
            A+=L
            break

print("\n".join(map(str,A)))
            
    
0