Cod sursa(job #360619)
Utilizator | Dragos Ristache MKLOL | Data | 1 noiembrie 2009 12:06:52 |
---|---|---|---|
Problema | Diamant | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.58 kb |
#include<stdio.h>
#define Plus 400
int N,M,x;
int nr[400][900];
int v[400];
int main()
{
scanf("%d %d %d",&N,&M,&x);
freopen("debug.out","w",stdout);
for(int i=1;i<=N;++i)
for(int j=1;j<=M;++j)
v[i]=i*j;
nr[0][0+Plus]=1;
for(int i=1;i<=N*M;++i)
{
for(int j=N*M*100;j>=-N*M*100;--j)
{
nr[i][j+Plus]=nr[i-1][j+Plus]+nr[i-1][j+Plus+v[i]]+nr[i-1][j+Plus-v[i]];
if(nr[i][j+Plus]!=0)
printf("%d %d\n",i,j);
}
}
for(int i=0;i<=N*M;++i)
printf("%d\n",nr[i][x+Plus]);
}