Cod sursa(job #2194666)

Utilizator _Victor_Victor Ciobanu _Victor_ Data 14 aprilie 2018 00:16:47
Problema Diamant Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.54 kb
# include <bits/stdc++.h>

using namespace std;

unsigned short a[1][45000],v[400];//maxval=44100~45000
int main(){
	int x,s=0;
	int n,m;
	ifstream fin("diamant.in");
	ofstream fout("diamant.out");
	fin>>n>>m>>x;
	x=abs(x);
	if (x>44100) cout<<0;
	else{
		a[0][0]=1;
		a[1][0]=1;
		for (int i=1;i<=n;i++)
		 for (int j=1;j<=m;j++){
		 v[s++]=i*j;	
		 } 
		for (int i=0;i<s;i++)
			for (int j=1;j<=x;j++){
			 a[i%2][j]= a[(i+1)%2][j]+a[(i+1)%2][abs(j-v[i])]+a[(i+1)%2][j+v[i]];
		}  
	}
	 fout<<a[(s-1)%2][x];
	return 0;
}