Cod sursa(job #829794)
| Utilizator | Data | 5 decembrie 2012 21:07:33 | |
|---|---|---|---|
| Problema | Diamant | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.58 kb |
#include<fstream>
#define MOD 10000;
using namespace std;
ifstream f("diamant.in");
ofstream g("diamant.out");
int n,m,i,j,x,s,aux,k,M,p,a[2][100000];
int main()
{
f>>n>>m>>x;
for(i=1;i<=n;++i)
for(j=1;j<=m;++j)
s+=i*j;
if(s<x)
{
g<<0<<'\n';
return 0;
}
p=0;
M=50000;
a[1][M]=1;
for(i=1;i<=n;++i)
{for(j=1;j<=m;++j)
{
aux=i*j;
for(k=-s;k<=s;++k)
a[p][k+M]=(a[p^1][k+M]+a[p^1][k-aux+M]+a[p^1][k+aux+M])%MOD;
p^=1;
}
}
g<<a[p^1][x+M];
return 0;
}
