結果
問題 | No.314 ケンケンパ |
ユーザー |
|
提出日時 | 2015-12-06 22:46:19 |
言語 | Go (1.23.4) |
結果 |
AC
|
実行時間 | 119 ms / 1,000 ms |
コード長 | 940 bytes |
コンパイル時間 | 12,163 ms |
コンパイル使用メモリ | 224,408 KB |
実行使用メモリ | 57,216 KB |
最終ジャッジ日時 | 2024-10-10 20:29:00 |
合計ジャッジ時間 | 13,429 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 17 |
ソースコード
package mainimport ("bufio""os""strconv""fmt")const MOD = 1e9 + 7func main() {N := nextInt()var dp = make([][]int, N + 1)for i := 0; i < N + 1; i++ {dp[i] = make([]int, 4)}dp[0][0] = 0dp[0][1] = 1dp[0][2] = 0for i := 1; i < N; i++ {for k := 2; k > 0; k-- {dp[i][k] += dp[i - 1][k - 1]dp[i][k] %= MOD}for k := 3; k > 1; k-- {dp[i][0] += dp[i - 1][k - 1]dp[i][0] %= MOD}}var total = 0for k := 2; k >= 0; k-- {total += dp[N - 1][k]total %= MOD}fmt.Println(total)}var s = bufio.NewScanner(os.Stdin)func next() string {s.Split(bufio.ScanWords)s.Scan()return s.Text()}func nextLine() string {s.Split(bufio.ScanLines)s.Scan()return s.Text()}func nextInt() int {i, e := strconv.Atoi(next())if e != nil {panic(e)}return i}func nextLong() int64 {i, e := strconv.ParseInt(next(), 10, 64)if e != nil {panic(e)}return i}