| 提出番号 | 217 |
|---|---|
| 提出者 | kim |
| 言語 | C++ |
| 提出日時 | 2017-07-11 14:41:31 |
| 問題名 | (15)掛け算フィボナッチ |
| 結果 | AC |
| 点数 | 100% |
| テストケース | 結果 | 得点 | 実行時間 | メモリ使用量 |
|---|---|---|---|---|
| 1 | AC | 100% | 1ms | 8192KB |
| 2 | AC | 100% | 2ms | 7680KB |
| 3 | AC | 100% | 2ms | 7568KB |
| 4 | AC | 100% | 2ms | 8336KB |
| 5 | AC | 100% | 2ms | 8128KB |
| 6 | AC | 100% | 2ms | 8208KB |
| 7 | AC | 100% | 2ms | 8128KB |
#include <cstdio>
#include <vector>
using namespace std;
int main() {
int Q;
vector<long long> fibo,fibo_product;
scanf("%d",&Q);
if(Q<=1) {
printf("%d\n",Q);
return 0;
}
fibo.resize(Q+1);
fibo_product.resize(Q+1);
fibo[0]=0;
fibo[1]=1;
fibo_product[1]=1;
for(int i=2; i<Q+1; ++i) {
fibo[i]=(fibo[i-1]+fibo[i-2])%1000000007;
fibo_product[i]=(fibo_product[i-1]*fibo[i])%1000000007;
}
printf("%lld\n",fibo_product[Q]);
return 0;
}