Pagini recente » Cod sursa (job #762839) | Cod sursa (job #2491694) | Cod sursa (job #2972831) | Cod sursa (job #330133) | Cod sursa (job #451509)
Cod sursa(job #451509)
#include <cstdio>
#define file_in "kperm.in"
#define file_out "kperm.out"
int n,K,nr,p[5010],viz[5010];
void citire()
{
freopen(file_in,"r",stdin);
freopen(file_out,"w",stdout);
scanf("%d %d", &n, &K);
}
void back(int k)
{
if (k==n+1)
{
int suma,ok=0,i,j;
for (i=1;i<=n-K &&!ok;++i)
{
for (j=i;j<=i+K;++j)
suma+=p[j];
if (suma%K!=0)
ok=1;
}
if (!ok) nr++;
if (nr>=666013) nr-=666013;
}
else
for (int i=1;i<=n;++i)
if (!viz[i])
{
viz[i]=1;
p[k]=i;
back(k+1);
viz[i]=0;
}
}
void solve()
{
nr=0;
back(1);
printf("%d\n", nr);
}
int main()
{
citire();
solve();
fclose(stdin);
fclose(stdout);
return 0;
}