結果
問題 |
No.762 PDCAパス
|
ユーザー |
![]() |
提出日時 | 2025-02-08 02:52:55 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 263 ms / 2,000 ms |
コード長 | 680 bytes |
コンパイル時間 | 280 ms |
コンパイル使用メモリ | 82,684 KB |
実行使用メモリ | 90,604 KB |
最終ジャッジ日時 | 2025-02-08 02:53:03 |
合計ジャッジ時間 | 7,085 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 38 |
ソースコード
N,M=map(int,input().split()) S=input().strip() E=[[] for i in range(N)] for i in range(M): x,y=map(int,input().split()) x-=1 y-=1 E[x].append(y) E[y].append(x) mod=10**9+7 DP=[0]*N for i in range(N): if S[i]=="P": DP[i]=1 DP2=[0]*N for i in range(N): if DP[i]>0: for to in E[i]: if S[to]=="D": DP2[to]+=DP[i] DP3=[0]*N for i in range(N): if DP2[i]>0: for to in E[i]: if S[to]=="C": DP3[to]+=DP2[i] DP4=[0]*N for i in range(N): if DP3[i]>0: for to in E[i]: if S[to]=="A": DP4[to]+=DP3[i] ANS=sum(DP4) print(ANS%mod)