Cod sursa(job #957637)
| Utilizator | Data | 5 iunie 2013 17:05:00 | |
|---|---|---|---|
| Problema | Diamant | Scor | 80 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.51 kb |
#include<fstream>
#include<cstdlib>
using namespace std;
ifstream f("diamant.in");
ofstream g("diamant.out");
int n,m,x,i,j,k,a[40001][2],max1;
int main()
{
f>>n>>m>>x;
a[0][0]=1;
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
max1+=i*j;
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
{
for(k=0;k<=max1;k++)
a[k][1]=(a[k][0]+a[abs(k-i*j)][0]+a[k+i*j][0])%10000;
for(k=0;k<=max1;k++)
a[k][0]=a[k][1];
}
if(abs(x)<=max1)
g<<a[abs(x)][0];
else
g<<0<<"n";
return 0;
}