Pagini recente » Cod sursa (job #1902547) | Cod sursa (job #953686) | Cod sursa (job #3003436) | Cod sursa (job #2530203) | Cod sursa (job #2909411)
#include<fstream>
using namespace std;
ifstream cin("sandokan.in");
ofstream cout("sandokan.out");
#define mod 2000003
int prior[5005], actual[5005];
int sandokan(int n, int k) {
actual[0] = 1;
actual[1] = 1;
int aux = n, i, j;
for (i = 1; i <= n; i++) {
for (j = 1; j <= k; j++) {
prior[j] = actual[j - 1] + actual[j];
}
while (j > 0) {
j--;
actual[j] = prior[j] % mod;
}
}
while (aux > k) {
aux = aux - k + 1;
}
return actual[aux - 1];
}
int main() {
int n, k;
cin >> n >> k;
if (k >= n) {
cout << 1;
}
else {
cout << sandokan(n, k);
}
return 0;
}