Pagini recente » Cod sursa (job #2868657) | Cod sursa (job #2027207) | Cod sursa (job #3234046) | Cod sursa (job #908226) | Cod sursa (job #25255)
Cod sursa(job #25255)
#include <stdio.h>
long x[20],i,n,k,tz=0;
int bun(long k)
{long t,i;t=1;i=0;while((t)&&(i<k)) { if(x[i]==x[k]) t=0; else i++; }return t;return 1;}
int bun2()
{
long i,s=0;
for(i=0;i<k;i++)
s+=x[i];
if(s%k!=0)return 0;
for(i=k;i<n;i++)
{
if(s%k!=0)return 0;
s+=x[i];
s-=x[i-k];
}
return 1;
}
void cit()
{
long i;
FILE *f;
f=fopen("kperm.in","r");
fscanf(f,"%d %d",&n,&k);
fclose(f);
for(i=0;i<=n;i++) x[i]=0;
}
void tip()
{
long i;
tz++;
}
int main()
{
cit();
i=0;
do
{
do
{
x[i]++;
if(x[i]>n)
{
x[i]=0;
i--;
}
else
{
if(bun(i))
i++;
}
}
while((i<n)&&(i!=-1));
if(i>=n)
{
if(bun2())
tip();
i=n-1;
}
}
while(i!=-1);
FILE *f;
f=fopen("kperm.out","w");
fprintf(f,"%d\n",tz/2);
fclose(f);
return 0;
}