結果
問題 |
No.2895 Zero XOR Subset
|
ユーザー |
|
提出日時 | 2024-09-20 23:17:01 |
言語 | PyPy3 (7.3.15) |
結果 |
WA
|
実行時間 | - |
コード長 | 980 bytes |
コンパイル時間 | 304 ms |
コンパイル使用メモリ | 82,432 KB |
実行使用メモリ | 209,500 KB |
最終ジャッジ日時 | 2024-09-20 23:17:19 |
合計ジャッジ時間 | 14,169 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 14 WA * 21 |
ソースコード
from collections import defaultdict pair=defaultdict(list) ind=defaultdict(int) M=int(input()) B=list(map(int,input().split())) def dfs(S,c): if len(S)<=2: if len(S)==2: a,b=list(S) if pair[a^b]!=[]: ans=[ind[a],ind[b]] for i in pair[a^b]: ans.append(i) print(len(ans)) print(*ans) exit() else: pair[a^b]=[ind[a],ind[b]] if len(S)==1: S=list(S) a=S[0] if pair[a]!=[]: ans=[ind[a]] for i in pair[a^b]: ans.append(i) print(len(ans)) print(*ans) exit() else: pair[a]=[ind[a]] else: s0=set() s1=set() for i in S: if (2**c)&i==0: s0.add(i) else: s1.add(i) dfs(s0,c-1) dfs(s1,c-1) for i in range(M): if ind[B[i]]!=0: print(2) print(ind[B[i]],i+1) exit() elif B[i]==0: print(1) print(i+1) exit() ind[B[i]]=i+1 dfs(set(B),59) print(-1)