結果
| 問題 |
No.2783 4-33 Easy
|
| コンテスト | |
| ユーザー |
ID 21712
|
| 提出日時 | 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])
}
ID 21712