Cod sursa(job #1997483)

Utilizator Andrei_CotorAndrei Cotor Andrei_Cotor Data 4 iulie 2017 14:40:40
Problema Diamant Scor 60
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.71 kb
#include<fstream>
#include<string.h>
#include<map>
using namespace std;
ifstream fi("diamant.in");
ofstream fo("diamant.out");
map<int,int> A,B;
int n,m,x,i,j,k,maxim;
int main()
{
    fi>>n>>m>>x;
    B[0]=1;
    maxim=0;
    for(i=1; i<=n; i++)
        for(j=1; j<=m; j++)
        {
            for(k=-maxim; k<=maxim; k++)
            {
                A[k]+=B[k];
                A[k+i*j]+=B[k];
                A[k-i*j]+=B[k];
                A[k]%=10000;
                A[k+i*j]%=10000;
                A[k-i*j]%=10000;
            }
            maxim=maxim+i*j;
            B=A;
            A.clear();
        }
    fo<<B[x]<<"\n";
    fi.close();
    fo.close();
    return 0;
}