Pagini recente » Cod sursa (job #1064574) | Cod sursa (job #2465985) | Cod sursa (job #3272509) | Cod sursa (job #1174652) | Cod sursa (job #25596)
Cod sursa(job #25596)
#include <stdio.h>
#define input "kperm.in"
#define output "kperm.out"
#define dimmax 5001
long n,p,aux[dimmax],sir[dimmax],rezultat;
void back(long k);
int main()
{
freopen(input,"r",stdin);
freopen(output,"w",stdout);
long i;
scanf("%ld%ld",&n,&p);
if(n!=p)
back(1);
else
{
rezultat=1;
for(i=2;i<=n;i++)
rezultat=(rezultat*i)%666013;
}
printf("%ld",rezultat%666013);
return 0;
}
void back(long k)
{
long i,q,w,suma,ind;
for(i=1;i<=n;++i)
if(aux[i]==0)
{
aux[i]=1;
sir[k]=i;
if(k==n)
{
ind=1;
for(q=1;q<=n-p+1;++q)
{
suma=0;
for(w=q;w<=q+p-1;++w)
suma+=sir[w];
if(suma%p)
{
ind=0;
break;
}
}
if(ind)
++rezultat;
}
else
back(k+1);
aux[i]=0;
}
}