結果
問題 |
No.1727 [Cherry 3rd Tune] Stray
|
ユーザー |
👑 ![]() |
提出日時 | 2021-10-29 18:35:39 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 1,122 ms / 6,000 ms |
コード長 | 943 bytes |
コンパイル時間 | 285 ms |
コンパイル使用メモリ | 82,180 KB |
実行使用メモリ | 84,908 KB |
最終ジャッジ日時 | 2024-10-07 09:19:27 |
合計ジャッジ時間 | 2,720 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 8 |
ソースコード
# グラフの連結成分解法 from collections import deque #================================================== T=int(input()) N,C=map(int,input().split()) Power=[1<<i for i in range(2*N)] # (1) 2π/N 回転 t=[0]*(2*N) for j in range(N): t[j] =(1+j)%N t[j+N]=t[j]+N # (2) ひっくり返す u=[0]*(2*N) for j in range(N): u[j+N]=(0-j)%N u[j] =u[j+N]+N #================================================== X=0 Seen=[0]*(4**N) for A in range(4**N): if Seen[A]==0: X+=1 Q=deque([A]); Seen[A]=1 while Q: A=Q.popleft() # σ B=0 for i in range(2*N): if (A>>i)&1: B|=Power[t[i]] if Seen[B]==0: Seen[B]=1 Q.append(B) # τ C=0 for i in range(2*N): if (A>>i)&1: C|=Power[u[i]] if Seen[C]==0: Seen[C]=1 Q.append(C) print(X)