Cod sursa(job #956322)

Utilizator classiusCobuz Andrei classius Data 2 iunie 2013 20:57:18
Problema Diamant Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.69 kb
#include <fstream>
#include <cstdlib>

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

int v[2][100002];

int main()
{
    int n,m,x;

    f>>n>>m>>x;
    int s=0;
    for(int i=1;i<=n;i++)
        for(int j=1;j<=m;j++)
            s+=i*j;
    if(s<abs(x)){
        g<<0;
        return 0;
    }

    int t=1;
    v[0][0]=1;
    for(int i=1;i<=n;i++)
        for(int j=1;j<=m;j++){
            int a=i*j;

            for(int l=0;l<=s;l++)
                v[t][l]=(v[1-t][l]+v[1-t][l+a]+v[1-t][abs(l-a)])%10000;
            t=1-t;
        }
    if((n*m)%2)
        g<<v[1][abs(x)];
    else
        g<<v[0][abs(x)];

    return 0;
}