結果
問題 | No.2832 Nana's Fickle Adventure |
ユーザー | ねしん |
提出日時 | 2024-06-09 10:33:33 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 2,414 ms / 3,000 ms |
コード長 | 1,671 bytes |
コンパイル時間 | 330 ms |
コンパイル使用メモリ | 82,392 KB |
実行使用メモリ | 77,228 KB |
最終ジャッジ日時 | 2024-08-02 13:20:01 |
合計ジャッジ時間 | 78,974 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge1 |
(要ログイン)
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | AC | 796 ms
76,464 KB |
testcase_01 | AC | 1,003 ms
76,164 KB |
testcase_02 | AC | 1,046 ms
76,208 KB |
testcase_03 | AC | 1,014 ms
76,084 KB |
testcase_04 | AC | 954 ms
76,568 KB |
testcase_05 | AC | 1,108 ms
76,344 KB |
testcase_06 | AC | 1,008 ms
76,248 KB |
testcase_07 | AC | 798 ms
76,564 KB |
testcase_08 | AC | 999 ms
76,588 KB |
testcase_09 | AC | 1,113 ms
76,336 KB |
testcase_10 | AC | 960 ms
76,500 KB |
testcase_11 | AC | 1,010 ms
76,020 KB |
testcase_12 | AC | 1,003 ms
76,432 KB |
testcase_13 | AC | 944 ms
76,312 KB |
testcase_14 | AC | 793 ms
75,956 KB |
testcase_15 | AC | 38 ms
53,512 KB |
testcase_16 | AC | 155 ms
64,808 KB |
testcase_17 | AC | 317 ms
69,472 KB |
testcase_18 | AC | 1,990 ms
76,200 KB |
testcase_19 | AC | 2,256 ms
76,640 KB |
testcase_20 | AC | 2,041 ms
77,228 KB |
testcase_21 | AC | 2,096 ms
77,032 KB |
testcase_22 | AC | 1,890 ms
76,760 KB |
testcase_23 | AC | 2,045 ms
76,820 KB |
testcase_24 | AC | 2,209 ms
76,612 KB |
testcase_25 | AC | 1,982 ms
76,892 KB |
testcase_26 | AC | 2,414 ms
76,540 KB |
testcase_27 | AC | 2,148 ms
76,552 KB |
testcase_28 | AC | 1,943 ms
76,372 KB |
testcase_29 | AC | 2,099 ms
76,572 KB |
testcase_30 | AC | 1,676 ms
76,440 KB |
testcase_31 | AC | 1,997 ms
76,416 KB |
testcase_32 | AC | 2,153 ms
76,884 KB |
testcase_33 | AC | 2,270 ms
76,348 KB |
testcase_34 | AC | 2,380 ms
76,548 KB |
testcase_35 | AC | 2,204 ms
76,700 KB |
testcase_36 | AC | 1,949 ms
76,380 KB |
testcase_37 | AC | 2,144 ms
76,288 KB |
testcase_38 | AC | 2,110 ms
76,432 KB |
testcase_39 | AC | 2,014 ms
76,416 KB |
testcase_40 | AC | 1,997 ms
76,344 KB |
testcase_41 | AC | 2,012 ms
76,216 KB |
testcase_42 | AC | 2,055 ms
76,536 KB |
testcase_43 | AC | 2,123 ms
76,676 KB |
testcase_44 | AC | 2,117 ms
76,364 KB |
testcase_45 | AC | 2,045 ms
76,556 KB |
testcase_46 | AC | 1,783 ms
76,404 KB |
testcase_47 | AC | 944 ms
76,012 KB |
ソースコード
N,M,X=list(map(int,input().split())) path=[] for i in range(10): path.append([0]*10) for i in range(M): u,v=list(map(int,input().split())) u-=1 v-=1 if u==v: path[u][v]+=1 else: path[u][v]+=1 path[v][u]+=1 MOD=998244353 def gen_matrix(): A=[] for i in range(110): A.append([0]*110) for j in range(110): prev=j//10 now=j%10 if prev!=10: if path[prev][now]==0: continue B=sum(path[now])-1 if B==0: A[100+now][j]=1 continue else: Binv=pow(B,MOD-2,MOD) for i in range(10): A[now*10+i][j]=(Binv*(path[i][now]-1*(prev==i)))%MOD else: B=sum(path[now]) if B==0: A[j][j]=1 continue else: Binv=pow(B,MOD-2,MOD) for i in range(10): A[now*10+i][j]=(Binv*path[i][now])%MOD return A A=gen_matrix() def matrixfact(A,n,X,M): P=A.copy() X=bin(X) X=X[2:] check=1 for q in range(1,len(X)): B=[] for i in range(n): B.append([0]*n) for i in range(n): for j in range(n): for k in range(n): B[i][j]+=(A[i][k]*A[k][j])%M B[i][j]=B[i][j]%M check*=2 if X[q]=="1": C=[] for i in range(n): C.append([0]*n) for i in range(n): for j in range(n): for k in range(n): C[i][j]+=(B[i][k]*P[k][j])%M C[i][j]=C[i][j]%M check+=1 A=C.copy() else: A=B.copy() #print(check) return A #print(A[2]) #print(path) M=matrixfact(A,110,X,MOD) for i in range(N): ans=0 for j in range(11): ans=(ans+M[10*j+i][100])%MOD print(ans)