Pagini recente » Cod sursa (job #3218586) | Cod sursa (job #912200) | Cod sursa (job #2438295) | Cod sursa (job #624322) | Cod sursa (job #25195)
Cod sursa(job #25195)
#include<fstream.h>
#define mod 666013
#define input "kperm.in"
#define output "kperm.out"
int a[5000],uzt[5000],n,b;
long h;
int check()
{
int i,j,s;
for(i=0;i<=n-b;i++)
{
s=0;
for(j=i;j<i+b;j++)
s+=a[j];
if(s%b!=0)
return 0;
}
return 1;
}
int perm(int k)
{
int i;
if(k==n)
{
if(check())
{
h++;
}
}
else
for(i=1;i<=n;i++)
{
if(uzt[i]==0)
{
uzt[i]++;
a[k]=i;
perm(k+1);
uzt[i]--;
}
}
return 0;
}
int main()
{
int i;
ifstream fin(input);
ofstream fout(output);
fin>>n>>b;
if(b%2==0)
fout<<"0";
else
if(n==b)
{
h=1;
for(i=2;i<=n;i++)
{
h*=i;
h=h%mod;
}
fout<<h;
}
else
{
perm(0);
fout<<h;
}
return 0;
}