Cod sursa(job #2180048)

Utilizator Constantin.Dragancea Constantin Constantin. Data 20 martie 2018 16:38:17
Problema Diamant Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.65 kb
#include <bits/stdc++.h>
using namespace std;

#define al 50000
#define MOD 10000
int n, m, d, dp[2][100010];
bool u;

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