Cod sursa(job #546577)

Utilizator dornescuvladVlad Eugen Dornescu dornescuvlad Data 5 martie 2011 08:50:49
Problema Sortari2 Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.56 kb
#include <iostream>
#include <fstream>

using namespace std;
 
const char iname[] = "sortari2.in";
const char oname[] = "sortari2.out";
const int  mod     =  999017;

ifstream fin(iname);
ofstream fout(oname);

int fact[2005], i, n, fib[4007];

int main()
{
	fin >> n;
	fact[0] = 1;
	for(i = 1; i <= n; i ++)
		fact[i] = (i * fact[i - 1]) % mod;
	fib[0] = 1, fib[1] = 1;
	for(i = 2; i <= 2 * n - 2; i ++)
		fib[i] = (fib[i - 1] + fib[i - 2]) % mod;
	int ans = fact[n] - fib[2 * n - 2];
	if(ans < 0)
		ans += mod;
	fout << ans << "\n";
	return 0;
}