結果
問題 | No.1727 [Cherry 3rd Tune] Stray |
ユーザー | 👑 Kazun |
提出日時 | 2021-10-29 18:35:39 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 1,186 ms / 6,000 ms |
コード長 | 943 bytes |
コンパイル時間 | 245 ms |
コンパイル使用メモリ | 82,432 KB |
実行使用メモリ | 85,376 KB |
最終ジャッジ日時 | 2024-04-16 13:50:51 |
合計ジャッジ時間 | 2,910 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge5 |
(要ログイン)
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | AC | 48 ms
54,272 KB |
testcase_01 | AC | 68 ms
64,768 KB |
testcase_02 | AC | 73 ms
68,480 KB |
testcase_03 | AC | 79 ms
72,576 KB |
testcase_04 | AC | 94 ms
76,928 KB |
testcase_05 | AC | 137 ms
77,696 KB |
testcase_06 | AC | 335 ms
78,848 KB |
testcase_07 | AC | 1,186 ms
85,376 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)