結果
問題 |
No.1702 count good string
|
ユーザー |
![]() |
提出日時 | 2025-07-10 02:16:37 |
言語 | Go (1.23.4) |
結果 |
WA
|
実行時間 | - |
コード長 | 589 bytes |
コンパイル時間 | 10,988 ms |
コンパイル使用メモリ | 237,128 KB |
実行使用メモリ | 7,848 KB |
最終ジャッジ日時 | 2025-07-10 02:16:57 |
合計ジャッジ時間 | 15,355 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 27 WA * 20 |
ソースコード
package main import . "fmt" func main() { var n int var s string Scan(&n,&s) dp := make([][]int, 2) for i := range dp { dp[i] = make([]int, len("yukicoder")+1) } const Mod int = 1e9+7 t := make(map[rune]int) for i, ch := range "yukicoder" { t[ch] = i } dp[0][0] = 1 for _, ch := range s { if i, ok := t[ch]; ok { dp[0][i+1] = (dp[0][i+1] + dp[0][i]) % Mod dp[1][i+1] = (dp[1][i+1] + dp[1][i]) % Mod } else { for j := 0; j < len(t); j++ { dp[1][j+1] = (dp[1][j+1] + dp[0][j]) % Mod } } } ans := (dp[0][len(t)] + dp[1][len(t)]) % Mod Println(ans) }