結果
| 問題 |
No.523 LED
|
| ユーザー |
goodbaton
|
| 提出日時 | 2017-06-02 22:32:09 |
| 言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
| 結果 |
AC
|
| 実行時間 | 271 ms / 2,000 ms |
| コード長 | 1,638 bytes |
| コンパイル時間 | 700 ms |
| コンパイル使用メモリ | 81,408 KB |
| 実行使用メモリ | 159,744 KB |
| 最終ジャッジ日時 | 2024-09-21 22:30:57 |
| 合計ジャッジ時間 | 3,050 ms |
|
ジャッジサーバーID (参考情報) |
judge5 / judge4 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 25 |
ソースコード
#include <cstdio>
#include <cstdlib>
#include <cmath>
#include <cstring>
#include <iostream>
#include <string>
#include <algorithm>
#include <vector>
#include <queue>
#include <stack>
#include <map>
#include <set>
#include <functional>
#include <cassert>
typedef long long ll;
using namespace std;
#define debug(x) cerr << #x << " = " << (x) << endl;
#define mod 1000000007 //1e9+7(prime number)
#define INF 1000000000 //1e9
#define LLINF 2000000000000000000LL //2e18
#define SIZE 20000010
ll fac[SIZE*2] = {};
ll factorial(int n,int M){
return fac[n];
}
ll power(int k,int n,int M){
if(n==0) return 1;
if(n==1) return (ll)k;
ll ret = power(k,n/2,M);
ret=(ret*ret)%M;
if(n%2==1)
ret=(ret*k)%M;
return ret;
}
//nCm nPm nHm (mod M)
/*Combination*/
int C(int n,int m,int M){
if(n<m) return 0;
if(m==0 || n==m) return 1;
ll chi = factorial(n,M);
ll mot = (factorial(m,M) * factorial(n-m,M))%M;
mot = power((int)mot,M-2,M);
ll ret = (chi*mot)%M;
return (int)ret;
}
/*Permutation*/
int P(int n,int m,int M){
if(n<m) return 0;
if(m==0) return 1;
ll chi = factorial(n,M);
ll mot = factorial(n-m,M);
mot = power((int)mot, M-2,M);
ll ret = (chi*mot)%M;
return (int)ret;
}
/*Combination with Repetitions*/
int H(int n,int m,int M){
if(n==0 && m==0) return 1;
return C(n+m-1,m,M);
}
int main(){
int n;
cin >> n;
fac[0] = 1;
for(int i=1;i<=n*2;i++){
fac[i] = (fac[i-1]*i)%mod;
}
ll p = power(2,mod-2, mod);
ll ans = fac[n*2];
for(int i=0;i<n;i++){
ans = (ans * p)%mod;
}
cout << ans << endl;
return 0;
}
goodbaton