結果
| 問題 | No.1266 7 Colors |
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2026-05-14 20:49:42 |
| 言語 | PyPy3 (7.3.17) |
| 結果 |
AC
|
| 実行時間 | 1,104 ms / 3,000 ms |
| コード長 | 966 bytes |
| 記録 | |
| コンパイル時間 | 141 ms |
| コンパイル使用メモリ | 84,864 KB |
| 実行使用メモリ | 149,268 KB |
| 最終ジャッジ日時 | 2026-05-14 20:50:04 |
| 合計ジャッジ時間 | 18,679 ms |
|
ジャッジサーバーID (参考情報) |
judge2_1 / judge3_0 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 19 |
ソースコード
def aa(m):
c=[]
while m!=uf[m]:
c.append(m)
m=uf[m]
for i in c:
uf[i]=m
return m
def bb(i,j):
global n
k=j
for l in v[i]:
if s[l][k]:
cc(k*n+l,j*n+i)
def cc(i,j):
i,j=aa(i),aa(j)
if i==j:
return
x[i]+=x[j]
uf[j]=i
n,m,q=map(int,input().split())
s=[list(map(int,list(input()))) for i in range(n)]
v=[[] for i in range(n)]
uf=[i for i in range(n*7)]
x=[1]*n*7
for i in range(m):
a,b=map(int,input().split());a-=1;b-=1
v[a].append(b);v[b].append(a)
for i in range(n):
for j in range(7):
if s[i][j]:
if s[i][(j+1)%7]:
cc(j*n+i,(((j+1)%7)*n+i))
bb(i,j)
for i in range(q):
a,b,c=map(int,input().split());b-=1;c-=1
if a==1:
s[b][c]=1
if s[b][(c+1)%7]:
cc(c*n+b,((c+1)%7)*n+b)
if s[b][c-1]:
cc(c*n+b,((c-1)%7)*n+b)
bb(b,c)
else:
print(x[aa(b)])