Cod sursa(job #1631222)
| Utilizator | Data | 5 martie 2016 13:54:01 | |
|---|---|---|---|
| Problema | Diamant | Scor | 10 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.65 kb |
#include<cstdio>
using namespace std;
int n,m,x,v[401],cate,g[88206];
int main(){
freopen("diamant.in","r",stdin);
freopen("diamant.out","w",stdout);
scanf("%d%d%d",&n,&m,&x);
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++)
v[++cate]=i*j;
for(int i=1;i<=cate;i++){
for(int s=88200;s>=0;s--){
if(g[s]!=0&&s+v[i]<=88200)
g[s+v[i]]=(g[s+v[i]]+g[s])%10000;
else
if(g[s]!=0&&s-v[i]>=0)
g[s-v[i]]=(g[s-v[i]]+g[s])%10000;
}
g[44100+v[i]]++;
g[44100-v[i]]++;
}
printf("%d",g[44100+x]);
return 0;
}
