結果
問題 | No.314 ケンケンパ |
ユーザー |
![]() |
提出日時 | 2019-04-27 07:19:40 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 79 ms / 1,000 ms |
コード長 | 1,548 bytes |
コンパイル時間 | 1,168 ms |
コンパイル使用メモリ | 109,344 KB |
実行使用メモリ | 58,036 KB |
最終ジャッジ日時 | 2024-11-27 04:38:53 |
合計ジャッジ時間 | 2,070 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 17 |
ソースコード
#include <stdio.h>#include <set>#include <map>#include <unordered_map>#include <unordered_set>#include <list>#include <queue>#include <stack>#include <cmath>#include <ctime>#include <cstdio>#include <vector>#include <string>#include <bitset>#include <cctype>#include <cstdlib>#include <cstring>#include <utility>#include <numeric>#include <complex>#include <sstream>#include <fstream>#include <iomanip>#include <cassert>#include <iostream>#include <iterator>#include <algorithm>#include <functional>using namespace std;typedef long long ll;const double EPS = 1e-9;typedef vector<int> vint;typedef vector<vector<int>> v2int;typedef vector<ll> vll;typedef vector<vector<ll>> v2ll;typedef list<int> liint;typedef pair<int, int> pint;const int INF = int(2e9);const ll LINF = ll(2e9) * ll(2e9);#define rep(i, n) REP(i, 0, n)#define ALL(v) v.begin(), v.end()#define MSG(a) cout << #a << " " << a << endl;#define REP(i, x, n) for(int i = x; i < n; i++)template<class T, class C> void chmax(T& a, C b) { a > b ? : a = b; }template<class T, class C> void chmin(T& a, C b) { a < b ? : a = b; }int main() {int N;cin >> N;ll p = 1000000007;v2int dp(N + 1, vint(2, 0));dp[1][0] = 1;if (N > 1) {dp[2][0] = 1;dp[2][1] = 1;}REP(i, 3, N + 1) {dp[i][0] = int((ll(dp[i - 1][1]) + ll(dp[i - 2][1])) % p);dp[i][1] = dp[i - 1][0];}int count;count = int((ll(dp[N][0]) + ll(dp[N][1])) % p);cout << count << endl;return 0;}