結果
問題 | No.1727 [Cherry 3rd Tune] Stray |
ユーザー | 👑 Kazun |
提出日時 | 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 |
(要ログイン)
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | AC | 44 ms
55,008 KB |
testcase_01 | AC | 56 ms
65,116 KB |
testcase_02 | AC | 62 ms
68,976 KB |
testcase_03 | AC | 66 ms
74,356 KB |
testcase_04 | AC | 81 ms
76,576 KB |
testcase_05 | AC | 127 ms
76,984 KB |
testcase_06 | AC | 312 ms
78,632 KB |
testcase_07 | AC | 1,122 ms
84,908 KB |
ソースコード
# グラフの連結成分解法 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)