結果
問題 | No.314 ケンケンパ |
ユーザー |
![]() |
提出日時 | 2016-11-03 19:52:47 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 82 ms / 1,000 ms |
コード長 | 1,557 bytes |
コンパイル時間 | 1,405 ms |
コンパイル使用メモリ | 172,528 KB |
実行使用メモリ | 57,920 KB |
最終ジャッジ日時 | 2024-11-25 02:27:43 |
合計ジャッジ時間 | 2,313 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 17 |
ソースコード
#include <bits/stdc++.h>using namespace std;#define FOR(i,a,b) for (int i=(a);i<(b);i++)#define RFOR(i,a,b) for (int i=(b)-1;i>=(a);i--)#define REP(i,n) for (int i=0;i<(n);i++)#define rep(i,n) for (int i=0;i<(n);i++)#define RREP(i,n) for (int i=(n)-1;i>=0;i--)#define ALL(a) (a).begin(),(a).end()#define all(a) (a).begin(),(a).end()#define EXIST(s,e) (find(all(s),(e))!=(s).end())#define exist(s,e) (find(all(s),(e))!=(s).end())#define INF (1<<25)#define ll long long#define VS vector<string>#define VI vector<int>#define vi vector<int>#define VI2 vector<vector<int>>#define vi2 vector<vector<int>>#define VLL vector<ll>#define vll vector<ll>#define VLL2 vector<vector<ll>>#define vll2 vector<vector<ll>>#define v2Resize(s,x,y) s.resize(x); REP(i,s.size()) s[i].resize(y);#define v2Fill(s,v) REP(i,s.size()) fill(all(s[i]),v);#define V vector#define Pii pair<int,int>#define P pair;#define in(x) cin>>x;#define in1(x,m) REP(i,m){int tmp; cin>>tmp; x.push_back(tmp);}#define in2(v2,x,y) REP(i,x) REP(j,y) cin>>v2[i][j];#define OUT2(v2) REP(i,v2.size()){ REP(j,v2[i].size()){ cout<<v2[i][j] << " ";}cout<<endl;};int dy4[] = {0, 0, 1, -1};int dx4[] = {1, -1, 0, 0};int dx8[] = {0,1,1,1,0,-1,-1,-1};int dy8[] = {-1,-1,0,1,1,1,0,-1};int n;vll2 dp;int main() {in(n);v2Resize(dp, n + 1, 3);dp[0][0] = 1;dp[0][1] = 0;dp[0][2] = 0;rep(i,n) {dp[i + 1][0] = (dp[i][1] + dp[i][2]) % 1000000007;dp[i + 1][1] = dp[i][0];dp[i + 1][2] = dp[i][1];}cout << accumulate(all(dp[n]), 0ll) % 1000000007 << endl;}