結果
問題 | No.2832 Nana's Fickle Adventure |
ユーザー | ねしん |
提出日時 | 2024-06-09 09:51:28 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 2,303 ms / 3,000 ms |
コード長 | 1,671 bytes |
コンパイル時間 | 613 ms |
コンパイル使用メモリ | 82,548 KB |
実行使用メモリ | 77,056 KB |
最終ジャッジ日時 | 2024-08-02 13:19:59 |
合計ジャッジ時間 | 75,868 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge5 |
(要ログイン)
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | AC | 755 ms
76,148 KB |
testcase_01 | AC | 950 ms
76,136 KB |
testcase_02 | AC | 988 ms
76,288 KB |
testcase_03 | AC | 957 ms
76,544 KB |
testcase_04 | AC | 905 ms
76,264 KB |
testcase_05 | AC | 1,046 ms
76,676 KB |
testcase_06 | AC | 961 ms
76,204 KB |
testcase_07 | AC | 759 ms
76,288 KB |
testcase_08 | AC | 950 ms
76,656 KB |
testcase_09 | AC | 1,066 ms
76,632 KB |
testcase_10 | AC | 913 ms
76,572 KB |
testcase_11 | AC | 956 ms
76,312 KB |
testcase_12 | AC | 949 ms
76,288 KB |
testcase_13 | AC | 903 ms
76,656 KB |
testcase_14 | AC | 769 ms
76,140 KB |
testcase_15 | AC | 38 ms
52,608 KB |
testcase_16 | AC | 142 ms
64,128 KB |
testcase_17 | AC | 301 ms
69,120 KB |
testcase_18 | AC | 1,868 ms
76,344 KB |
testcase_19 | AC | 2,130 ms
76,544 KB |
testcase_20 | AC | 1,922 ms
76,748 KB |
testcase_21 | AC | 1,993 ms
77,028 KB |
testcase_22 | AC | 1,782 ms
76,964 KB |
testcase_23 | AC | 1,918 ms
76,572 KB |
testcase_24 | AC | 2,081 ms
76,580 KB |
testcase_25 | AC | 1,879 ms
77,056 KB |
testcase_26 | AC | 2,303 ms
76,800 KB |
testcase_27 | AC | 2,022 ms
76,440 KB |
testcase_28 | AC | 1,855 ms
76,544 KB |
testcase_29 | AC | 1,973 ms
76,288 KB |
testcase_30 | AC | 1,582 ms
76,160 KB |
testcase_31 | AC | 1,930 ms
76,268 KB |
testcase_32 | AC | 2,008 ms
76,672 KB |
testcase_33 | AC | 2,133 ms
76,532 KB |
testcase_34 | AC | 2,225 ms
76,628 KB |
testcase_35 | AC | 2,086 ms
76,288 KB |
testcase_36 | AC | 1,829 ms
76,480 KB |
testcase_37 | AC | 2,015 ms
76,544 KB |
testcase_38 | AC | 1,983 ms
76,544 KB |
testcase_39 | AC | 1,892 ms
76,904 KB |
testcase_40 | AC | 1,907 ms
76,416 KB |
testcase_41 | AC | 1,915 ms
76,160 KB |
testcase_42 | AC | 1,918 ms
76,532 KB |
testcase_43 | AC | 1,987 ms
76,672 KB |
testcase_44 | AC | 1,983 ms
76,460 KB |
testcase_45 | AC | 1,925 ms
76,432 KB |
testcase_46 | AC | 1,682 ms
76,416 KB |
testcase_47 | AC | 923 ms
76,288 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)