Cod sursa(job #2065593)
Utilizator | Popescu Ioan gioto | Data | 13 noiembrie 2017 21:57:21 |
---|---|---|---|
Problema | Sortari2 | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.49 kb |
#include <bits/stdc++.h>
using namespace std;
int n;
int f[2002];
const int MOD = 999017;
int main(){
freopen("sortari2.in", "r", stdin);
freopen("sortari2.out", "w", stdout);
scanf("%d", &n);
int fact = 1;
for(int i = 1; i <= n ; ++i) fact = (fact * i) % MOD;
n = n * 2 - 1;
f[1] = f[2] = 1;
for(int i = 3; i <= n ; ++i) f[i] = (f[i - 1] + f[i - 2]) % MOD;
int Sol = fact - f[n];
if(Sol < 0) Sol += MOD;
printf("%d", Sol);
return 0;
}