Cod sursa(job #505447)

Utilizator mihaipopa12Popa Mihai mihaipopa12 Data 2 decembrie 2010 15:30:49
Problema Sandokan Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.55 kb
#include<stdio.h>
#include<string>

#define MOD 2000003

FILE*f=fopen("sandokan.in","r");
FILE*g=fopen("sandokan.out","w");

int i,j,N,K,C1[5100],C2[5100];

int main () {
	
	fscanf(f,"%d %d",&N,&K);
	//C[N][K] == nr de combinari de N luate cate K
	C1[0] = 1;
	K = (N - 1) % (K - 1);
	for ( i = 1 ; i < N ; ++i ){
		C2[0] = 1;
		for ( j = 1 ; j <= i ; ++j ){
			C2[j] = C1[j] + C1[j-1];
			if ( C2[j] >= MOD )
				C2[j] -= MOD;
		}
		memcpy(C1,C2,sizeof(C2));
	}		
	
	fprintf(g,"%d\n",C1[K]);
	
	fclose(f);
	fclose(g);
	
	return 0;
}