結果
問題 |
No.762 PDCAパス
|
ユーザー |
|
提出日時 | 2021-03-23 19:55:17 |
言語 | Ruby (3.4.1) |
結果 |
AC
|
実行時間 | 413 ms / 2,000 ms |
コード長 | 490 bytes |
コンパイル時間 | 351 ms |
コンパイル使用メモリ | 7,296 KB |
実行使用メモリ | 22,272 KB |
最終ジャッジ日時 | 2024-11-25 21:03:00 |
合計ジャッジ時間 | 11,832 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 38 |
コンパイルメッセージ
Syntax OK
ソースコード
MOD = 10**9 + 7 N, M = gets.split.map(&:to_i) S = gets.chomp graph = Array.new(N) { [] } PDCA = "PDCA" M.times do (s, u), (t, v) = gets.split.map { |s| i = s.to_i - 1; [PDCA.index(S[i]), i] }.minmax graph[v] << u if s + 1 == t end vertices = Array.new(4) { [] } N.times do |u| vertices[PDCA.index(S[u])] << u end dp = [1] * N vertices[1, 3].each do |us| us.each do |u| dp[u] = graph[u].sum { |v| dp[v] } % MOD end end puts vertices[3].sum { |u| dp[u] } % MOD