Cod sursa(job #1921812)

Utilizator RaduMirceaAndreiRadu Mircea Andrei RaduMirceaAndrei Data 10 martie 2017 14:41:48
Problema Diamant Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.82 kb
# include <fstream>
# include <cstring>
# define DIM 401*401
# define MOD 10000
using namespace std;
ifstream fin("diamant.in");
ofstream fout("diamant.out");
int v[2*DIM],aux[2*DIM],n,m,x,i,j,k,val,s;
int main () {
    fin>>n>>m>>x;
    v[DIM]=1;
    for(i=1;i<=n;i++)
        for(j=1;j<=m;j++){
            val=i*j;
            s+=i*j;
            for(k=DIM-s;k<=DIM+s;k++){
                aux[k]=v[k];
                if(k-val>=0){
                    aux[k]+=v[k-val];
                    aux[k]%=MOD;
                }
                if(k+val<=2*DIM){
                    aux[k]+=v[k+val];
                    aux[k]%=MOD;
                }
            }
            memcpy(v,aux,sizeof(aux));
        }
    if(x<=s&&x>=-s)
        fout<<v[x+DIM]<<"\n";
    else
        fout<<"0\n";
    return 0;
}