Cod sursa(job #1539756)

Utilizator patrutoiuandreipatrutoiu andrei patrutoiuandrei Data 1 decembrie 2015 15:46:12
Problema Diamant Scor 60
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.7 kb
#include <fstream>


#define MOD 10000
#define DIM 40000
using namespace std;
ifstream fin ("diamant.in");
ofstream fout ("diamant.out");
int i,j,val,n,m,x,A[DIM],D[DIM],st,dr,k;
#define D (D+20000)
#define A (A+20000)
int main()
{
   fin>>n>>m>>x;
   A[0]=1;
   for(i=1;i<=n;i++)
   {
       for(j=1;j<=m;j++)
       {
           val=i*j;
           for(k=st;k<=dr;k++)
           {
               D[k-val]+=A[k];
               D[k]+=A[k];
               D[k+val]+=A[k];
           }
           st-=val;
           dr+=val;
           for(k=st;k<=dr;k++)
           {
               A[k]=D[k]%MOD;
               D[k]=0;
           }
       }
   }
    fout<<A[x];
    return 0;
}