結果
問題 | No.554 recurrence formula |
ユーザー |
![]() |
提出日時 | 2017-08-12 02:33:19 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 3 ms / 2,000 ms |
コード長 | 729 bytes |
コンパイル時間 | 562 ms |
コンパイル使用メモリ | 70,552 KB |
実行使用メモリ | 6,820 KB |
最終ジャッジ日時 | 2024-10-12 22:55:36 |
合計ジャッジ時間 | 1,330 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 21 |
ソースコード
#define _CRT_SECURE_NO_WARNINGS #include<iostream> #include<cstdio> #include<string> #include<algorithm> #include<cmath> using namespace std; #define REP(i,n) for(int i=0;(i)<(n);(i)++) unsigned const int MOD = 1000000007; int main() { int N; cin >> N; long long a[100005]; /*a[1] = 1; a[2] = 2; a[3] = 6; for (int i = 4;i <= N;i++) { a[i] = (a[i - 2] / (i - 2)) % MOD; a[i] = (a[i] + a[i - 1]) % MOD; a[i] = (a[i] * (i % MOD)) % MOD; }*/ long long sume, sumo; a[1] = 1; sume = 0; sumo = 1; for (int i = 2;i <= N;i++) { if (i % 2 == 0) { a[i] = (sumo * (i % MOD)) % MOD; sume += a[i]; } else { a[i] = (sume * (i % MOD)) % MOD; sumo += a[i]; } } cout << a[N] << endl; return 0; }