Cod sursa(job #1363513)

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

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

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

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];
            if ( j-v[i]>=0 )
                sum[j-v[i]]+=sum[j];
        }
    }
    --sum[0];
    fprintf(h,"%d\n",sum[x]);
    return 0;
}