Pagini recente » Cod sursa (job #301941) | Cod sursa (job #2956374) | Cod sursa (job #359478) | Cod sursa (job #2157871) | Cod sursa (job #146085)
Cod sursa(job #146085)
#include <stdio.h>
#include <memory.h>
int main (void) {
FILE * fi = fopen("diamant.in","rt");
FILE * fo = fopen("diamant.out","wt");
const long NMAX=80000;
const long pivot=NMAX/2;
long x, n, m;
fscanf(fi,"%ld %ld %ld",&n,&m,&x);
long cur[NMAX], noo[NMAX];
memset(cur,0,sizeof(cur));
memset(noo,0,sizeof(noo));
cur[pivot]=1; noo[pivot]=1;
// for (long i=0; i<vars; i++) {
for (long xi=1; xi<=n; xi++) for (long xj=1; xj<=m; xj++) {
long vi=xi*xj;
for (long j=1; j<NMAX; j++)
if (cur[j]!=0)
if ((j+vi>0) && (j+vi<NMAX)) {
noo[j+vi]+=cur[j];
};
for (long j=1; j<NMAX; j++)
if (cur[j]!=0)
if ((j-vi>0) && (j-vi<NMAX)) {
noo[j-vi]+=cur[j];
};
memcpy(cur,noo,sizeof(cur));
}
fprintf(fo,"%ld\n",cur[pivot+x]);
fclose(fi); fclose(fo);
return 0;
};