Cod sursa(job #918730)

Utilizator apopeid13Apopeid Alejandro apopeid13 Data 19 martie 2013 08:48:57
Problema Sandokan Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.66 kb
#include <fstream>
  
using namespace std;
  
#define mod 2000003
  
int main () {
    ifstream fin ("sandokan.in");
    ofstream fout ("sandokan.out");
    int N, K;
    long long sol = 1, dog = 1;
    int lol;
    fin >> N >> K;
    fin.close ();
    N--;
    lol = N % (K - 1);
    for (int i = lol + 1; i <= N; i++)
    {
        sol = (sol * i) % mod;
    }
    lol = N - lol;
    for (int i = 2; i <= lol; i++)
    {
        dog = (dog * i) % mod;
    }
    int aux = dog;
    for (int i = 1; i <= mod - 3; i++)
    {
        dog = (dog * aux) % mod;
    }
    sol = (sol * dog) % mod;
    fout << sol;
    fout.close ();
    return 0;
}