Pagini recente » Cod sursa (job #453420) | Cod sursa (job #2588246) | Cod sursa (job #354050) | Cod sursa (job #2952009) | Cod sursa (job #984430)
Cod sursa(job #984430)
#include<stdio.h>
FILE *f = fopen("kperm.in","r");
FILE *g = fopen("kperm.out","w");
int N,K,Sol;
int V[100],B[100];
void citire(void)
{
fscanf(f,"%d %d",&N,&K);
}
inline int verif(void)
{
int sum = 0;
for(int i=1;i<=N;i++)
{
sum += V[i];
if(i >= K)
{
sum -= V[i-K];
if(sum%K)
return 0;
}
}
return 1;
}
inline void back(int k)
{
if(k == N+1)
{
Sol += verif();
return ;
}
for(int i=1;i<=N;i++)
if(!B[i])
{
V[k] = i;
B[i] = 1;
back(k+1);
B[i] = 0;
}
}
int main()
{
/*for(int i=2;i<=12;i++)
for(int j=2;j<=i;j++)
{
N = i, K = j;
Sol = 0;
back(1);
printf("%d %d = %d\n",N,K,Sol);
}*/
citire();
back(1);
fprintf(g,"%d\n",Sol);
}