Cod sursa(job #723160)

Utilizator bacilaBacila Emilian bacila Data 24 martie 2012 23:35:32
Problema Diamant Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.59 kb
#include <iostream>
#include <fstream>
#define mod 10000
using namespace std;
int a[100000],b[100000];
int v[405],n,m,x,i,j,cen=50000;
int main ()
{ifstream f("diamant.in");
 ofstream g("diamant.out");
f>>n>>m>>x;
if(abs(x)<(m*(m+1)/2)*n*(n+1)/2)
{
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
v[j+(i-1)*n]=i*j;
a[0+cen]=1;
for(j=1;j<=n*m;j++)
{for(i=-44100;i<=44100;i++)
b[i+cen]=(a[i-v[j]+cen]+a[i+v[j]+cen]+a[i+cen])%mod;
for(i=-44100;i<=44100;i++)
a[i+cen]=b[i+cen];

}
g<<a[x+cen];
}
else
if(abs(x)==(m*(m+1)/2)*n*(n+1)/2)
g<<1;
else
g<<0;
f.close(); g.close();
return 0;
}