結果
問題 |
No.2783 4-33 Easy
|
ユーザー |
![]() |
提出日時 | 2025-04-15 17:33:46 |
言語 | Go (1.23.4) |
結果 |
AC
|
実行時間 | 24 ms / 2,000 ms |
コード長 | 781 bytes |
コンパイル時間 | 13,931 ms |
コンパイル使用メモリ | 246,664 KB |
実行使用メモリ | 7,844 KB |
最終ジャッジ日時 | 2025-04-15 17:34:02 |
合計ジャッジ時間 | 13,783 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 26 |
ソースコード
package main import . "fmt" func main() { var n int Scan(&n) a := make([]int, n) for i := range a { Scan(&a[i]) } b := make([]int, n) x := make([]bool, n) for i := range b { var s string Scan(&s) Sscan(s, &b[i]) x[i] = Sprint(b[i]) != s } dp := make([][][]int, 9+1) for i := range dp { dp[i] = make([][]int, 4+1) for j := range dp[i] { dp[i][j] = make([]int, 33+1) } } for i, xv := range x { if !xv || b[i] != 0 { continue } dp[1][a[i]][b[i]]++ } const MOD = 998244353 for p, av := range a { if x[p] { continue } bv := b[p] for i := 8; i >= 1; i-- { for j := 0; av+j <= 4; j++ { for k := 0; bv+k <= 33; k++ { dp[i+1][av+j][bv+k] = (dp[i+1][av+j][bv+k]+dp[i][j][k])%MOD } } } } Println(dp[9][4][33]) }