Pagini recente » Monitorul de evaluare | Autentificare | Cod sursa (job #1731738) | Clasament infomilk | Cod sursa (job #29076)
Cod sursa(job #29076)
#include<fstream.h>
long i,j,st[10000],s,n,k,nr=0,suma[1000];
/*void afisare()
{for(i=1;i<=n;i++)
g<<st[i]; g<<endl;
}*/
int valid(int p)
{
for(int i=1;i<p;i++)
if (st[i]==st[p]) return 0;
return 1;
}
void back(int p)
{int pval;
for(pval=0;pval<=n;pval++)
{st[p]=pval;suma[p]=suma[p-1]+pval;
if((suma[p]-suma[p-k])%k==0&&valid(p))
if (p==n)
nr++;
else
back(p+1);
}
}
void main()
{
ifstream f("kperm.in");
f>>n>>k;
f.close();
suma[0]=0;
ofstream g("kperm.out");
if(k==n||k%2==0||k==n-1)g<<"0\n";
else
{back(1);
g<<nr;
}
g.close();
}