Cod sursa(job #1363521)

Utilizator usermeBogdan Cretu userme Data 27 februarie 2015 00:29:05
Problema Diamant Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.6 kb
#include <cstdio>

FILE*f=fopen("diamant.in","r");
FILE*h=fopen("diamant.out","w");

int n,m,x,v[401],k,sum[100001];

int main(){
    fscanf(f,"%d%d%d",&n,&m,&x);
    for ( int i=1;i<=n;++i )
        for ( int j=1;j<=m;++j )
            v[++k]=i*j;
    sum[0]=1;
    int smax=0;
    for ( int i=1;i<=k;++i ){
        for ( int j=smax;j>=0;--j ){
            if ( v[i]+j>smax )
                smax=v[i]+j;
            sum[v[i]+j]=(sum[j]+sum[v[i]+j])%10000;
            if ( j-v[i]>=0 )
                sum[j-v[i]]=(sum[j]+sum[j-v[i]])%10000;
        }
    }
    --sum[0];
    fprintf(h,"%d\n",sum[x]);
    return 0;
}