Cod sursa(job #425836)

Utilizator mottyMatei-Dan Epure motty Data 26 martie 2010 10:23:01
Problema Diamant Scor 30
Compilator cpp Status done
Runda Simulare CNITV 2 Marime 0.68 kb
#include<stdio.h>

const int pur[]={-1,0,1};


int n,m,x,rez;

void afis()
{
	for( int i=1 ; i<=n ; ++i,printf("\n") )
		for( int j=1 ; j<=m ; ++j )
			//printf("%d ",mp[i][j]);
	printf("\n\n\n");
}

void bec( int i,int j,int p )
{
	if(i==n+1)
	{
		//afis();
		if(p==x)
			++rez;
		return;
	}
	if( j==m )
	{
		for( int o=0 ; o<=2 ; ++o )
		{
			//mp[i][j]=pur[o];
			bec(i+1,1,p+i*j*pur[o]);
		}
		return;
	}
	for( int o=0 ; o<=2 ; ++o )
	{
		//mp[i][j]=pur[o];
		bec(i,j+1,p+i*j*pur[o]);
	}
}

int main()
{
	freopen("diamant.in","r",stdin);
	freopen("diamant.out","w",stdout);
	scanf("%d%d%d",&n,&m,&x);
	bec(1,1,0);
	printf("%d\n",rez);
	return 0;
}