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