結果
| 問題 | 
                            No.554 recurrence formula
                             | 
                    
| コンテスト | |
| ユーザー | 
                             rapurasu
                         | 
                    
| 提出日時 | 2017-08-11 22:36:08 | 
| 言語 | C++11(廃止可能性あり)  (gcc 13.3.0)  | 
                    
| 結果 | 
                             
                                WA
                                 
                             
                            
                         | 
                    
| 実行時間 | - | 
| コード長 | 785 bytes | 
| コンパイル時間 | 1,422 ms | 
| コンパイル使用メモリ | 157,468 KB | 
| 実行使用メモリ | 6,824 KB | 
| 最終ジャッジ日時 | 2024-10-12 21:18:12 | 
| 合計ジャッジ時間 | 2,069 ms | 
| 
                            ジャッジサーバーID (参考情報)  | 
                        judge2 / judge5 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| other | AC * 9 WA * 12 | 
ソースコード
#include<bits/stdc++.h>
using namespace std;
#define FOR(i,a,b) for (int i=(a);i<(b);i++)
#define RFOR(i,a,b) for (int i=(b)-1;i>=(a);i--)
#define REP(i,n) for (int i=0;i<(n);i++)
#define RREP(i,n) for (int i=(n)-1;i>=0;i--)
typedef long long LL;
LL MOD=1e9+7;
int n;
LL a[100001];
int odd=1;
int even=0;
/*LL f(int n){
   if(a[n]!=-1)return a[n];
   if(n==0)return 0;
   if(n==1)return 1;
   LL ans=0;
   if(n%2==0){
      for(int i=0;i*2+1<n;i++){
          ans+=
      }
   }else{
   }
   a[i]=n*ans;
   return a[i];
}*/
int main(){
    cin>>n;
    for(int i=2;i<n+1;i++){
        if(i%2==0){
           a[i]=(odd*i)%MOD;
           even=(even+a[i])%MOD;
        }else{
           a[i]=(even*i%MOD);
           odd=(odd+a[i])%MOD;
        }
    }
    cout<<a[n]<<endl;
	return(0);
}
            
            
            
        
            
rapurasu