結果
問題 | No.314 ケンケンパ |
ユーザー |
|
提出日時 | 2025-05-10 19:56:37 |
言語 | Rust (1.83.0 + proconio) |
結果 |
AC
|
実行時間 | 69 ms / 1,000 ms |
コード長 | 834 bytes |
コンパイル時間 | 12,701 ms |
コンパイル使用メモリ | 401,196 KB |
実行使用メモリ | 56,552 KB |
最終ジャッジ日時 | 2025-05-10 19:56:52 |
合計ジャッジ時間 | 13,170 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 17 |
ソースコード
/* * Author: srtry * Created: 2025-05-10T18:42:06+09:00 * Coding: utf-8-unix */ use proconio::input; use std::io::{stdout,Write,BufWriter}; const BIG:usize = 1000000007; fn main() { input!{ n:usize } let out = stdout(); let mut out = BufWriter::new(out.lock()); match n { 1 => {write!(out, "{}", 1).unwrap();return}, 2 => {write!(out, "{}", 2).unwrap();return}, 3 => {write!(out, "{}", 2).unwrap();return}, _ => () } // 0:K 1:P let mut dp:Vec<Vec<usize>> = vec![vec![0,0];n+1]; dp[1] = vec![1,0]; dp[2] = vec![1,1]; dp[3] = vec![1,1]; for i in 4..=n { dp[i][0] = (dp[i-1][1] + dp[i-2][1])%BIG; dp[i][1] = (dp[i-2][1] + dp[i-3][1])%BIG; } write!(out, "{}", (dp[n][0]+dp[n][1])%BIG).unwrap(); }