Cod sursa(job #2097892)
Utilizator | Data | 1 ianuarie 2018 20:42:20 | |
---|---|---|---|
Problema | Diamant | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.51 kb |
#include <bits/stdc++.h>
using namespace std;
ifstream f ("diamant.in");
ofstream g ("diamant.out");
int n,m,x,t,d[100000],v[100000];
int main()
{
f>>n>>m>>x;
t=n*(n+1)/2*m*(m+1)/2;
if(abs(x)>t)
{
g<<0;
return 0;
}
d[0]=1;
for(int i=1;i<=n;++i)
{
for(int j=1;j<=m;++j)
{
for(int k=0;k<=t;++k) v[k]=(d[abs(k-i*j)]+d[k]+d[k+i*j])%10000;
memcpy(d,v,sizeof(v));
}
}
g<<d[abs(x)];
return 0;
}