Cod sursa(job #1809962)
| Utilizator | Data | 19 noiembrie 2016 14:29:48 | |
|---|---|---|---|
| Problema | Kperm | Scor | 20 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.59 kb |
# include <fstream>
# define DIM 5010
# define MOD 666013
using namespace std;
ifstream fin("kperm.in");
ofstream fout("kperm.out");
int f[DIM],n,k,i,r,d,s,p,t;
int main () {
fin>>n>>k;
if(!k%2){
fout<<"0\n";
return 0;
}
f[0]=1;
for(i=1;i<=n;i++)
f[i]=(1LL*f[i-1]*i)%MOD;
r=n%k;
d=k-r;
s=(1LL*f[r]*f[d])%MOD;
t=n/k;
p=1;
for(i=1;i<=d;i++)
p=(1LL*p*t)%MOD;
s=(1LL*p*s)%MOD;
t++;
p=1;
for(i=1;i<=r;i++)
p=(1LL*p*t)%MOD;
s=(1LL*p*s)%MOD;
fout<<s<<"\n";
return 0;
}
