Cod sursa(job #505444)

Utilizator mihaipopa12Popa Mihai mihaipopa12 Data 2 decembrie 2010 15:22:42
Problema Sandokan Scor 25
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.54 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] = C1[1] = 1;
	for ( i = 2 ; 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 - 1]);
	
	fclose(f);
	fclose(g);
	
	return 0;
}