Cod sursa(job #2101621)

Utilizator AndreiStanescuAlloys Nokito AndreiStanescu Data 7 ianuarie 2018 18:56:25
Problema Diamant Scor 40
Compilator cpp Status done
Runda Teme Pregatire ACM Unibuc 2013 Semestrul 2 Marime 0.78 kb
#include<bits/stdc++.h>
#define mod 10000
#define sum 44100
using namespace std;
int main()
{
    ifstream cin("diamant.in");
    ofstream cout("diamant.out");
    int n,m,s,v[sum],x[sum],s1,i,j,k;
    cin>>n>>m>>s;
    s1=n*(n+1)/2*m*(m+1)/2;
    if(abs(s)>s1) cout<<0;
    else
    {
        v[0]=1;
        s1=0;
        for(i=1;i<=n;i++)
            for(j=1;j<=m;j++)
        {
            s1+=i*j;
            for(k=0;k<=s1;k++)
            { x[k]=(v[abs(k-i*j)]+v[k]+v[k+i*j])%mod;
               // x[k+i*j]=(x[k+i*j]+v[k])%mod;
               // x[k-i*j]=(x[k-i*j]+v[k])%mod;
               // x[k]=(x[k]+v[k])%mod;

            }

             memcpy(v,x,sizeof(x));
             //memset(x,0,s1);

        }
    }
    cout<<x[s];
}