結果

問題 No.1266 7 Colors
コンテスト
ユーザー ああ
提出日時 2026-05-14 20:49:42
言語 PyPy3
(7.3.17)
コンパイル:
pypy3 -mpy_compile _filename_
実行:
pypy3 _filename_
結果
AC  
実行時間 1,104 ms / 3,000 ms
コード長 966 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 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
権限があれば一括ダウンロードができます

ソースコード

diff #
raw source code

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)])
0