Cod sursa(job #1929193)

Utilizator stefzahZaharia Stefan Tudor stefzah Data 17 martie 2017 11:39:05
Problema Diamant Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.62 kb
#include <bits/stdc++.h>
#define MOD 10000
#define NMAX 44105
#define SHIFT 45000
using namespace std;
ifstream fin("diamant.in");
ofstream fout("diamant.out");
int nr[3*NMAX],pre[3*NMAX];
vector<int> v;
int main() {
    int n,m,k,i,j;

    fin>>n>>m>>k;
    if(abs(k)>44100) {
        fout<<0;
        return 0;
    }
    for(i=1;i<=n;++i)
        for(j=1;j<=m;++j) v.push_back(i*j);

    pre[SHIFT]=1;
    nr[SHIFT]=1;
    for(i=0;i<v.size();i++) {
        for(j=0;j<NMAX+SHIFT;++j) nr[j]=(nr[j]+pre[j-v[i]]+pre[j+v[i]])%MOD;
        for(j=0;j<NMAX+SHIFT;++j) pre[j]=nr[j];
    }

    fout<<nr[SHIFT+k];

}