Cod sursa(job #734386)
| Utilizator | Data | 14 aprilie 2012 08:21:22 | |
|---|---|---|---|
| Problema | Diamant | Scor | 30 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.55 kb |
#include<fstream>
#include<cstring>
#define maxn 90000
using namespace std;
ifstream f("diamant.in");
ofstream g("diamant.out");
int a[maxn],b[maxn],i,n,j,k,p,m;
int main()
{
f>>n>>m>>k;
a[45000]=1;
if(k<-44999||k>44999)
{
g<<"0\n";
return 0;
}
for(i=1;i<=n;++i)
for(j=1;j<=m;++j)
{
memcpy(b,a,sizeof(a));
for(p=0;p<i*j;++p)
a[p]=b[p]+b[p+i*j];
for(p=i*j;p<maxn;++p)
a[p]=b[p]+b[p-i*j]+b[p+i*j];
}
g<<a[k+45000]<<"\n";
}
