Pagini recente » Cod sursa (job #1309455) | Cod sursa (job #263533) | Cod sursa (job #1151912) | Cod sursa (job #1387699) | Cod sursa (job #35176)
Cod sursa(job #35176)
#include<stdio.h>
int n,m,st[40],nrsol;
float x;
FILE *f=fopen("diamant.in","r");
FILE *g=fopen("diamant.out","w");
int sol()
{ float s=0;
for(register int i=1;i<=m+n;i++)
if(i<=m)
{if(st[i]==1)
s-=i;
else if(st[i]==3)
s+=i;
}
else {register int i2,j;
i2=i;
j=1;
while(i2>m)
{i2-=m;
j++;
}
if(st[i]==1)
s-=i2*j;
else if(st[i]==3)
s+=i2*j;
}
if(x!=s)
return 0;
return 1;
}
void back(int k)
{
if(k>n+m)
{if(sol())
nrsol++;
}
else for(register int i=1;i<=3;i++)
{st[k]=i;
back(k+1);
}
}
int main()
{fscanf(f,"%d%d%f",&n,&m,&x);
nrsol=0;
back(1);
fprintf(g,"%d",nrsol);
return 0;
}