Pagini recente » Cod sursa (job #2838815) | Cod sursa (job #655952) | Cod sursa (job #1872000) | Cod sursa (job #2591960) | Cod sursa (job #2301463)
#include <fstream>
#define DIM 5005
#define MOD 2000003
using namespace std;
ifstream fin ("sandokan.in");
ofstream fout ("sandokan.out");
int n, k, i, j;
int c[2][DIM];
int main(){
fin >> n >> k;
/// elementul maxim va fi tot timpul in sirul final, deci practic daca in final am p elemente, unul e cel maxim, iar restul nu conteaza => combinari (n-1, p-1)
/// numerele citite sunt irelevante
/// doar ultimele 2 linii conteaza
c[0][0] = 1;
for (i=1; i<n; i++){
c[i%2][0] = 1;
for (j=1; j<=i; j++){
c[i%2][j] = c[1-i%2][j] + c[1-i%2][j-1];
if (c[i%2][j] > MOD){
c[i%2][j] -= MOD;
}
}
}
k = (n-1)%(k-1);
fout << c[(n-1)%2][k];
return 0;
}