Cod sursa(job #1870695)

Utilizator nartorrewrew narto Data 6 februarie 2017 20:44:09
Problema Diamant Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.56 kb
#include <fstream>
#include <cmath>
#define maxs 50000
#define mod 10000
using namespace std;


ifstream f("diamant.in");
ofstream g("diamant.out");

int n, m, x, D[2][2*maxs], v[405], siz, sum;

int main()
{  int i, j;
   int l=0;
    f>>n>>m>>x;
    D[0][maxs]=1;
    if(abs(x)>maxs)
    { g<<0<<' ';
    return 0;
    }
for(i=1;i<=n;i++)
    for(j=1;j<=m;j++)
      v[++siz]=i*j;
for(i=1;i<=siz;i++,l=1-l)
 { sum+=v[i];
  for(j=maxs-sum;j<=maxs+sum;j++)
     D[1-l][j]=(D[l][j]+D[l][j-v[i]]+D[l][j+v[i]])%mod;

 }
 g<<D[siz%2][x+maxs];
}