Mai intai trebuie sa te autentifici.
Cod sursa(job #657716)
| Utilizator | Data | 7 ianuarie 2012 11:25:25 | |
|---|---|---|---|
| Problema | Kperm | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.67 kb |
#include <stdio.h>
int main()
{
long long v[7],sol,h;
int n,k,i,c,r;
freopen("kperm.in","r",stdin);
freopen("kperm.out","w",stdout);
scanf("%d%d",&n,&k);
if (k%2==0)
{
printf("0\n");
return 0;
}
c=n/k;
r=n%k;
h=666013;
v[1]=v[2]=v[3]=v[4]=v[5]=1;
for (i=2;i<=r;++i)
v[1]=(v[1]*i)%h;
for (i=2;i<=k-r;++i)
v[2]=(v[2]*i)%h;
for (i=2;i<=c;++i)
v[3]=(v[3]*i)%h;
for (i=1;i<=k-r;++i)
v[4]=(v[4]*v[3])%h;
v[3]=(v[3]*(c+1))%h;
for (i=1;i<=r;++i)
v[5]=(v[5]*v[3])%h;
sol=(v[1]*v[2])%h;
sol=(sol*v[4])%h;
sol=(sol*v[5])%h;
printf("%lld\n",sol);
return 0;
}
