Cod sursa(job #2194674)

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

using namespace std;

unsigned short a[2][45000],v[400];//maxval=44100~45000
int main(){
	int x=0,s=0;
	int n=0,m=0;
	ifstream fin("diamant.in");
	ofstream fout("diamant.out");
	fin>>n>>m>>x;
	x=abs(x);
	if (x>44100) fout<<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]%10000;
	}
	return 0;
}