Cod sursa(job #3332883)

Utilizator Tudor_CCTudor Cocu Tudor_CC Data 9 ianuarie 2026 17:09:09
Problema Diamant Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.92 kb
#include <bits/stdc++.h>

using namespace std;

long long dp[2][100555],mod=10000;

int main()
{
    ifstream cin("diamant.in");
    ofstream cout("diamant.out");
    int n,m,sum=0,k;
    cin>>n>>m>>k;
    dp[0][44100]=1;
    int in=0;
        if(k>2*44100 || (k+44100)<0)
    {
        cout<<0;
        return 0;
    }
    for(int i=1;i<=n;++i)
    {
        for(int j=1;j<=m;++j)
        {
                ++in;
                sum+=i*j;
            for(int h=44100+sum;h>=44100-sum;--h)
            {
                dp[in%2][h]=dp[(in+1)%2][h];
                if(h>=i*j)
                {
                    dp[in%2][h]=(dp[in%2][h]+dp[(in+1)%2][h-i*j])%mod;
                }
                if(h+i*j<=2*44100)
                {
                    dp[in%2][h]=(dp[in%2][h]+dp[(in+1)%2][h+i*j])%mod;
                }
            }
        }
    }
    cout<<dp[in%2][44100+k];
    return 0;
}