Cod sursa(job #1444141)

Utilizator Liviu98Dinca Liviu Liviu98 Data 29 mai 2015 11:28:42
Problema Oo Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.75 kb
#include <iostream>
#include <fstream>
using namespace std;
const int diamant=45000;
int a[90100],b[90010],N,M,X;

int main()
{
    ifstream g("diamant.in");
    ofstream f("diamant.out");
    g>>N>>M>>X;
    a[diamant]=1;
    b[diamant]=1;

    if(X>44000 || X<-44000)
        f<<"0";
    else
    {for(int i=1;i<=N;i++)
    {
        for(int j=1;j<=M;j++)
        {
            int cost=i*j;
            for(int k=1;k<=90000;k++)
            {
                if(a[k])
                {
                    b[k+cost]=(b[k+cost]+a[k])%10000;
                    b[k-cost]=(b[k-cost]+a[k])%10000;
                }
            }
            for(int k=1;k<=90000;k++)
                a[k]=b[k];
        }
    }

    f<<a[X+diamant];}
}