Cod sursa(job #1930026)
| Utilizator | Data | 18 martie 2017 14:08:21 | |
|---|---|---|---|
| Problema | Diamant | Scor | 70 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.52 kb |
#include <fstream>
#include <cmath>
using namespace std;
ifstream fin("diamant.in");
ofstream fout("diamant.out");
int sol[401][45000],n,m,s,i,j;
int main()
{ fin>>n>>m>>s;
sol[0][0]=1;
s=abs(s);
int maxi=0,k;
for(i=1;i<=n;++i)
{
for(j=1;j<=m;++j)
{ maxi+=i*j;
for(k=0;k<=maxi;++k)
sol[(i-1)*m+j][k]=(sol[(i-1)*m+j-1][int(abs(k-i*j))] +sol[(i-1)*m+j-1][k]+ sol[(i-1)*m+j-1][k+i*j] )%10000;
}
}
fout<<sol[m*n][s];
return 0;
}
