Cod sursa(job #2290536)

Utilizator armigheGheorghe Liviu Armand armighe Data 26 noiembrie 2018 17:23:45
Problema Diamant Scor 90
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.79 kb
#include<fstream>
#include<algorithm>
#define MOD 10000
using namespace std;
ifstream f("diamant.in");
ofstream g("diamant.out");
int v[90002],w[90002];
const int c=45000;
int main()
{
    int n,m,x,i,j,l,minim=c-1,maxim=c+1;
    f>>n>>m>>x;
    v[c]=1;
    v[c-1]=1;
    v[c+1]=1;
    for(i=1;i<=n;i++)
    for(j=1;j<=m;j++)
    if(!(i==1&&j==1))
    {
        for(l=minim;l<=maxim;l++)
        if(v[l]!=0)
        {
            w[l+i*j]+=v[l];
            w[l-i*j]+=v[l];
            w[l]+=v[l];
            w[l+i*j]%=MOD;
            w[l-i*j]%=MOD;
            w[l]%=MOD;
        }
        minim=minim-i*j;
        maxim=maxim+i*j;
        for(l=minim;l<=maxim;l++)
        {
            v[l]=w[l];
            w[l]=0;
        }
    }
    g<<v[c+x];
    return 0;
}