結果
| 問題 | 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 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| 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)
Kazun