| 提出番号 | 2349 |
|---|---|
| 提出者 | kya |
| 言語 | C++ |
| 提出日時 | 2020-03-25 18:47:57 |
| 問題名 | (15)掛け算フィボナッチ |
| 結果 | AC |
| 点数 | 100% |
| テストケース | 結果 | 得点 | 実行時間 | メモリ使用量 |
|---|---|---|---|---|
| 1 | AC | 100% | 2ms | 8112KB |
| 2 | AC | 100% | 3ms | 8112KB |
| 3 | AC | 100% | 3ms | 8560KB |
| 4 | AC | 100% | 3ms | 7648KB |
| 5 | AC | 100% | 4ms | 7600KB |
| 6 | AC | 100% | 3ms | 7600KB |
| 7 | AC | 100% | 4ms | 8560KB |
#include <bits/stdc++.h>
using namespace std;
constexpr int MOD = 1e9+7;
void add (int &a, int b, int c) {
a %= MOD; b %= MOD; c %= MOD;
a = (((a + b) % MOD) + c) % MOD;
}
void mul (int &a, int b) {
a %= MOD; b %= MOD;
long long x = (long long)a * b % MOD;
a = x;
}
int main() {
int q;
cin >> q;
int ans = 1;
vector<int> f(100100); f[0] = f[1] = 1;
for (int i = 2; i < q; i++) {
add(f[i], f[i-1], f[i-2]);
mul(ans, f[i]);
}
cout << ans << endl;
return 0;
}