提出 #36438357
ソースコード 拡げる
mod=998244353
M=(10**5)*3+1
fac=[1]*M
ninv=[1]*M
finv=[1]*M
for i in range(2,M):
fac[i]=fac[i-1]*i%mod
ninv[i]=(-(mod//i)*ninv[mod%i])%mod
finv[i]=finv[i-1]*ninv[i]%mod
def binom(n,k):
if n<0 or k<0:
return 0
if k>n:
return 0
return (fac[n]*finv[k]%mod)*finv[n-k]%mod
from sys import stdin
input=lambda :stdin.readline()[:-1]
n,m,k=map(int,input().split())
edge=[[] for i in range(n)]
for _ in range(m):
v,u=map(lambda x:int(x)-1,input().split())
edge[v].append(u)
edge[u].append(v)
c=list(map(int,input().split()))
ans=0
dp0=[0]*n
dp1=[0]*n
dp2=[0]*n
dp0[0]=1
for _ in range(k):
ndp0=[0]*n
ndp1=[0]*n
ndp2=[0]*n
for i in range(n):
s=len(edge[i])
for to in edge[i]:
ndp0[to]+=dp0[i]*ninv[s]
ndp1[to]+=dp1[i]*ninv[s]
ndp2[to]+=dp2[i]*ninv[s]
for i in range(n):
ndp0[i]%=mod
ndp1[i]%=mod
ndp2[i]%=mod
if c[i]==0:
ndp2[i]+=2*ndp1[i]+ndp0[i]
ndp2[i]%=mod
ndp1[i]+=ndp0[i]
ndp1[i]%=mod
else:
ans+=ndp2[i]
ans%=mod
dp0=ndp0
dp1=ndp1
dp2=ndp2
#print(dp0,dp1,dp2)
print(ans%mod)
提出情報
| 提出日時 | |
|---|---|
| 問題 | G - Random Walk to Millionaire |
| ユーザ | toam |
| 言語 | PyPy3 (7.3.0) |
| 得点 | 600 |
| コード長 | 1180 Byte |
| 結果 | AC |
| 実行時間 | 1635 ms |
| メモリ | 105168 KiB |
ジャッジ結果
| セット名 | Sample | All | ||||
|---|---|---|---|---|---|---|
| 得点 / 配点 | 0 / 0 | 600 / 600 | ||||
| 結果 |
|
|
| セット名 | テストケース |
|---|---|
| Sample | example0.txt, example1.txt |
| All | 000.txt, 001.txt, 002.txt, 003.txt, 004.txt, 005.txt, 006.txt, 007.txt, 008.txt, 009.txt, 010.txt, 011.txt, 012.txt, 013.txt, 014.txt, 015.txt, 016.txt, 017.txt, 018.txt, 019.txt, 020.txt, 021.txt, 022.txt, 023.txt, 024.txt, 025.txt, 026.txt, 027.txt, 028.txt, 029.txt, 030.txt, 031.txt, 032.txt, example0.txt, example1.txt |
| ケース名 | 結果 | 実行時間 | メモリ |
|---|---|---|---|
| 000.txt | AC | 102 ms | 81180 KiB |
| 001.txt | AC | 90 ms | 81400 KiB |
| 002.txt | AC | 89 ms | 81676 KiB |
| 003.txt | AC | 91 ms | 80836 KiB |
| 004.txt | AC | 98 ms | 82008 KiB |
| 005.txt | AC | 86 ms | 81576 KiB |
| 006.txt | AC | 671 ms | 88484 KiB |
| 007.txt | AC | 697 ms | 88452 KiB |
| 008.txt | AC | 580 ms | 87624 KiB |
| 009.txt | AC | 580 ms | 87464 KiB |
| 010.txt | AC | 537 ms | 87552 KiB |
| 011.txt | AC | 545 ms | 87828 KiB |
| 012.txt | AC | 543 ms | 87732 KiB |
| 013.txt | AC | 624 ms | 88344 KiB |
| 014.txt | AC | 632 ms | 87992 KiB |
| 015.txt | AC | 1625 ms | 104956 KiB |
| 016.txt | AC | 1635 ms | 105168 KiB |
| 017.txt | AC | 717 ms | 86804 KiB |
| 018.txt | AC | 679 ms | 88248 KiB |
| 019.txt | AC | 127 ms | 82280 KiB |
| 020.txt | AC | 832 ms | 102960 KiB |
| 021.txt | AC | 393 ms | 85052 KiB |
| 022.txt | AC | 394 ms | 83580 KiB |
| 023.txt | AC | 548 ms | 85136 KiB |
| 024.txt | AC | 175 ms | 82032 KiB |
| 025.txt | AC | 403 ms | 84632 KiB |
| 026.txt | AC | 675 ms | 86596 KiB |
| 027.txt | AC | 605 ms | 83636 KiB |
| 028.txt | AC | 440 ms | 84244 KiB |
| 029.txt | AC | 491 ms | 84448 KiB |
| 030.txt | AC | 347 ms | 82444 KiB |
| 031.txt | AC | 372 ms | 83028 KiB |
| 032.txt | AC | 341 ms | 82628 KiB |
| example0.txt | AC | 67 ms | 71720 KiB |
| example1.txt | AC | 69 ms | 72340 KiB |