Cod sursa(job #1258421)
Utilizator | Andrei Comaneci acom | Data | 8 noiembrie 2014 20:46:44 |
---|---|---|---|
Problema | Kperm | Scor | 10 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.48 kb |
#include<fstream>
using namespace std;
#define MOD 666013
ifstream fin("kperm.in");
ofstream fout("kperm.out");
long long n,k,p,r,sol,F[5005];
int main()
{
long long i;
fin>>n>>k;
if (k==2)
{
fout<<"0\n";
return 0;
}
p=n/k, r=n%k;
for (i=1,F[0]=1;i<=n;++i)
F[i]=F[i-1]*i%MOD;
sol=F[r]*F[k-r]%MOD*F[r]%MOD;
if (r) sol*=F[p+1], sol%=MOD;
else sol*=F[p], sol%=MOD;
fout<<sol<<"\n";
return 0;
}