Cod sursa(job #1992263)

Utilizator tifui.alexandruTifui Ioan Alexandru tifui.alexandru Data 19 iunie 2017 23:53:24
Problema Diamant Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.66 kb
#include <bits/stdc++.h>
#define vm 50000
#define nm 21
#define MOD 10000
using namespace std;
ifstream f("diamant.in");
ofstream g("diamant.out");
int n,m,val,s,a[nm*nm],d[2][vm*2],nr;
int main()
{
    int i,j,k;
    f>>n>>m>>val;
    if(abs(val)>vm)
    {
        fout<<0;
        fout.close();
        return 0;
    }
    d[0][vm]=1;
    for(i=1;i<=n;i++)
        for(j=1;j<=m;j++)
            a[++nr]=i*j;
    for(i=1;i<=nr;i++)
    {
        s+=a[i];
        for(j=vm-s;j<=vm+s;j++)
        {
            k=(i+1)%2;
            d[i%2][j]=(d[k][j]+d[k][j-a[i]]+d[k][j+a[i]])%MOD;
        }
    }
    g<<d[nr%2][val+vm];

    return 0;
}