Cod sursa(job #194035)

Utilizator Omega91Nicodei Eduard Omega91 Data 7 iunie 2008 22:24:30
Problema Sandokan Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.56 kb
#include <cstdio>
#define VMOD 2000003

int comb(int n, int k)
{
	unsigned long long rasp = 1;
	int q = 1, i;
	if (k) rasp = n - k + 1;
	for (i = n - k + 2; i <= n; ++i) {
		rasp = rasp * (unsigned long long)i /  (unsigned long long)(++q);
		//rasp %= VMOD;
	}
	return rasp % VMOD;
	//return rasp;
}

int main()
{
	int n, k, rest;
	FILE *f1 ,*f2;
	f1 = fopen("sandokan.in", "r");
	f2 = fopen("sandokan.out", "w");
	fscanf(f1, "%d%d", &n, &k);
	rest = n % (k - 1);
	if (!rest) rest = k - 1;
	fprintf(f2, "%d\n", comb(n - 1, rest - 1));
	fclose(f1);
	fclose(f2);
	return 0;
}