結果
問題 | No.314 ケンケンパ |
ユーザー |
![]() |
提出日時 | 2015-12-26 18:56:52 |
言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
結果 |
AC
|
実行時間 | 13 ms / 1,000 ms |
コード長 | 737 bytes |
コンパイル時間 | 627 ms |
コンパイル使用メモリ | 70,260 KB |
実行使用メモリ | 11,236 KB |
最終ジャッジ日時 | 2024-09-19 00:36:17 |
合計ジャッジ時間 | 1,238 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 17 |
ソースコード
#include <iostream>#include <vector>#include <string>#include <algorithm>#include <map>#include <set>#include <cstdio>#include <cmath>#define rep(i,l,n) for(int i=l;i<n;i++)#define rer(i,l,n) for(int i=l;i<=n;i++)#define all(a) a.begin(),a.end()#define o(a) cout<<a<<endl#define pb(a) push_back(a)#define mk(a,b) make_pair(a,b)#define fi first#define se secondusing namespace std;typedef long long lint;typedef vector<int> vi;typedef vector<vi> vvi;typedef pair<int,int> pii;lint a[1000001]={};lint mod=1e9+7;int main(){int n;a[1]=0; a[2]=1; a[3]=1;cin>>n;rep(i,4,n){a[i]=(a[i-2]+a[i-3])%mod;}if(n==1) o(1);else if(n==2||n==3) o(2);else{lint ans=(a[n-1]+2*a[n-2]+a[n-3])%mod;o(ans);}}