Cod sursa(job #2342039)

Utilizator AndreiCroitoruAndrei Croitoru AndreiCroitoru Data 12 februarie 2019 16:00:17
Problema Diamant Scor 80
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.66 kb
# include <bits/stdc++.h>

using namespace std;
const int MAX = 44100;
int a[2][MAX+401],v[500];//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>MAX) fout<<0;
     else{
		for (int i=1;i<=n;i++)
		 for (int j=1;j<=m;j++){
		 v[s++]=i*j;
		 }
		for (int i=0;i<=x;i++)
		 a[0][i]=0;
		for (int i=0;i<=x;i++)
		 a[1][i]=0;
		a[0][0]=1;
		a[1][0]=1;
		for (int i=0;i<s;i++){
			for (int j=0;j<=MAX+400;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]]) % 10000;
			}
		}
	fout<<a[(s-1)%2][x];
}
	return 0;
}