Cod sursa(job #487358)
| Utilizator | Data | 24 septembrie 2010 21:00:52 | |
|---|---|---|---|
| Problema | Diamant | Scor | 30 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.6 kb |
#include<fstream>
#include<cstring>
using namespace std;
const char iname[]="diamant.in";
const char oname[]="diamant.out";
const int maxn=90000;
ifstream f(iname);
ofstream g(oname);
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";
}
