Cod sursa(job #1369158)

Utilizator mateidanutDanut Gabriel Matei mateidanut Data 2 martie 2015 22:15:58
Problema Diamant Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.7 kb
#include <fstream>
using namespace std;

int i, j, n, m, x, k, a[200000], b[200000], *p=a+100000, *q=b+100000, t;
const int mod=10000;

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

int main()
{
    f>>n>>m>>x;
    if (x<=44100 && x>=-44100)
    {   p[0]=p[1]=p[-1]=1;
        t=1;
        for (i=1; i<=n; ++i)
            for (j=1; j<=m; ++j) {
                if (i!=1 || j!=1) {
                    t+=i*j;
                    for (k=-t; k<=t; ++k)
                        q[k]=(p[k]+p[k-i*j]+p[k+i*j])%mod;
                    for (k=-t; k<=t; ++k)
                        p[k]=q[k];
                }
            }
        g<<p[x];
    }
    else
        g<<0;
    return 0;
}