Cod sursa(job #937835)

Utilizator DaNutZ2UuUUBB Bora Dan DaNutZ2UuU Data 11 aprilie 2013 09:33:38
Problema Diamant Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.85 kb
#include<fstream>
#include<cmath>
#include<cstdlib>
#define mod 10000



using namespace std;


ifstream f("diamant.in");
ofstream g("diamant.out");

int n,m,i,j,x,t,M[200010][2];
int CalitateMax;

int main () {

    f>>n>>m>>x;
    M[0][0]=1;
    for(    i=1;    i<=n;    ++i )

        for (   j=1 ;   j<=m ;   ++j )
            CalitateMax+=i*j;

    for(    i=1;    i<=n ;   ++i     )
        for(    j=1;    j<=m;    ++j         ){

            for(    t=0;    t<=CalitateMax;      ++t     )   {

                M[t][1]=(   M[t][0] +   M[abs(t-i*j)][0]    +   M[t+i*j][0])%mod;

            }

            for(    t=0;    t<=CalitateMax;  ++t )
                M[t][0]=M[t][1];

        }

    if(     abs(x)<=CalitateMax      ){

        g<<M[abs(x)][0];

    }
    else {

        g<<0<<"\n";
    }
    return 0;
}