結果
問題 | No.314 ケンケンパ |
ユーザー |
![]() |
提出日時 | 2019-08-10 19:02:08 |
言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
結果 |
AC
|
実行時間 | 25 ms / 1,000 ms |
コード長 | 1,282 bytes |
コンパイル時間 | 788 ms |
コンパイル使用メモリ | 77,544 KB |
実行使用メモリ | 26,880 KB |
最終ジャッジ日時 | 2024-07-19 17:19:05 |
合計ジャッジ時間 | 1,621 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 17 |
ソースコード
#include<iostream>#include<vector>#include<map>#include<string>#include<cstring>#include<bitset>#include<stack>#include<queue>#include<cmath>#include<algorithm>#include<cstdio>#include<numeric>#include<set>using namespace std;template<class T>inline bool chmin(T& a,T b){if(a>b){a=b;return true;}return false;}template<class T>inline bool chmax(T& a,T b){if(a<b){a=b;return true;}return false;}const int dx[4]={1,0,-1,0};const int dy[4]={0,1,0,-1};#define rep(i,x) for(int i=0;i<x;i++)#define re(i,x,y) for(int i=x;i<y;i++)const long long INF=1e9;const long long mod=1e9+7;#define ll long longint n;ll dp[1000100][3]={0};int main(){cin>>n;rep(i,n){rep(j,3){dp[i][j]=0;}}dp[1][1]=1;re(i,1,n){rep(j,3){if(j==0){(dp[i+1][1]+=dp[i][0])%=mod;}else if(j==1){(dp[i+1][0]+=dp[i][1])%=mod;(dp[i+1][2]+=dp[i][1])%=mod;}else if(j==2){(dp[i+1][0]+=dp[i][2])%=mod;}}}ll ans=0;rep(i,3){(ans+=dp[n][i])%=mod;}cout<<ans%mod<<endl;return 0;}