結果
| 問題 |
No.314 ケンケンパ
|
| コンテスト | |
| ユーザー |
moja
|
| 提出日時 | 2016-08-31 12:05:58 |
| 言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
| 結果 |
AC
|
| 実行時間 | 59 ms / 1,000 ms |
| コード長 | 523 bytes |
| コンパイル時間 | 1,660 ms |
| コンパイル使用メモリ | 159,928 KB |
| 実行使用メモリ | 56,804 KB |
| 最終ジャッジ日時 | 2024-11-14 12:55:20 |
| 合計ジャッジ時間 | 2,846 ms |
|
ジャッジサーバーID (参考情報) |
judge2 / judge1 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 17 |
ソースコード
#include<bits/stdc++.h>
using namespace std;
#define MOD (int)((1e9)+7)
int n;
int memo[1000000][3];
int solve(int idx,int ken){
if(idx == n) return 1;
if(memo[idx][ken] != -1) return memo[idx][ken];
int ret = 0;
if(ken == 0){
ret = solve(idx+1,ken+1) % MOD;
}else if(ken == 1){
ret = (solve(idx+1,ken+1) + solve(idx+1,0) ) % MOD;
}else if(ken == 2){
ret = solve(idx+1,0) % MOD;
}
return memo[idx][ken] = ret;
}
int main(){
cin>>n;
memset(memo,-1,sizeof(memo));
cout<<solve(1,1)<<endl;
}
moja