Pagini recente » Cod sursa (job #2173464) | Cod sursa (job #1173684) | Cod sursa (job #1741566) | Cod sursa (job #1932564) | Cod sursa (job #3281337)
#include <iostream>
#include <fstream>
using namespace std;
#define MOD 2000003
long long fact[5001];
ifstream f("sandokan.in");
ofstream g("sandokan.out");
long long pow( long long a, long long b )
{
long long x = 1;
while ( b > 0 )
{
if ( b % 2 == 1 )
x = ( x * a ) % MOD;
a = ( a * a ) % MOD;
b /= 2;
}
return x;
}
void factorial()
{
fact[0] = 1;
for ( int i = 1; i <= 5000; i ++ )
fact[i] = ( fact[i - 1] * i ) % MOD;
}
int main()
{
int n, k;
factorial();
/// combinari de n - 1 luate cate ( n - 1 ) % ( k - 1 )
f >> n >> k;
n = n - 1;
k = k - 1;
k = n % k;
g << (long long) (( ( fact[n] * pow ( fact[n - k], MOD - 2 ) ) % MOD ) * pow ( fact [k], MOD - 2 ) )% MOD;
return 0;
}