結果
問題 | No.554 recurrence formula |
ユーザー | hirokazu1020 |
提出日時 | 2017-08-11 22:27:55 |
言語 | C++11 (gcc 13.3.0) |
結果 |
AC
|
実行時間 | 3 ms / 2,000 ms |
コード長 | 877 bytes |
コンパイル時間 | 732 ms |
コンパイル使用メモリ | 93,212 KB |
実行使用メモリ | 5,248 KB |
最終ジャッジ日時 | 2024-10-12 21:09:13 |
合計ジャッジ時間 | 1,390 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 21 |
ソースコード
#define _CRT_SECURE_NO_WARNINGS #include<iostream> #include<sstream> #include<cstdio> #include<cstdlib> #include<cstring> #include<climits> #include<cmath> #include<string> #include<vector> #include<set> #include<map> #include<queue> #include<numeric> #include<functional> #include<algorithm> #include<bitset> #include<tuple> #include<unordered_set> #include<random> #include<array> #include<cassert> using namespace std; #define INF (1<<29) #define rep(i,n) for(int i=0;i<(int)(n);i++) #define all(v) v.begin(),v.end() #define uniq(v) v.erase(unique(all(v)),v.end()) #define MOD 1000000007 int main() { ios::sync_with_stdio(0); cin.tie(0); int n; long long s1=1, s2=0; cin>>n; long long a=1; for (int i=2;i<=n;i++){ if (i % 2 ==0){ a = i*s1 %MOD; s2 += a; s2%=MOD; } else{ a = i*s2%MOD; s1+=a; s1%=MOD; } } cout<<a<<endl; return 0; }