Pagini recente » Cod sursa (job #74594) | Cod sursa (job #1303178) | Cod sursa (job #2974857) | Cod sursa (job #3149103) | Cod sursa (job #25627)
Cod sursa(job #25627)
#include <cstdio>
#define NMAX 16
#define INF "kperm.in"
#define OUF "kperm.out"
int n,bit[NMAX]={0},dim,sum=0,total=0;
struct HA_HA_HA
{
int x;
};
double BACK_RULZ(HA_HA_HA *x) { printf("hahaha");}
void back(int k)
{
int i;
for(i=1;i<=n;i++)
{
if(!bit[i])
{
sum+=i;bit[i]=1;
if(k==dim&&sum%dim==0) total++;
else back(k+1);
sum-=i;bit[i]=0;
}
}
}
int main()
{
FILE *in,*out;
in=fopen(INF,"r");
out=fopen(OUF,"w");
fscanf(in,"%d %d",&n,&dim);
back(1);
total=total/dim;
fprintf(out,"%d",total%666013);
fclose(in);fclose(out);
return 0;
}