Cod sursa(job #2683260)

Utilizator Simon2712Simon Slanina Simon2712 Data 10 decembrie 2020 19:00:28
Problema Diamant Scor 10
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.79 kb
#include <fstream>

using namespace std;
ifstream cin("diamant.in");
ofstream cout("diamant.out");
int vl[100001],v[100001];
#define mod 10000
int main()
{
    int n,m,x,i,j,nr=0,val,ind;
    cin>>n>>m>>x;
    for(i=1;i<=n;i++)
    for(j=1;j<=m;j++)
      nr+=i*j;
    vl[0]=1;
    for(i=1;i<=n;i++)
    for(j=1;j<=m;j++)
    {
      val=i*j;
      for(ind=0;ind<=nr;ind++)
      {
        v[ind]+=vl[ind];
        if(vl[ind]){
          if(ind<=val)
            v[val-ind]+=vl[ind];///val+-ind
          if(ind!=0)
            v[ind+val]+=vl[ind];///val+ind
          if(ind>val)
            v[ind-val]+=vl[ind];///ind-val
        }
      }
      for(ind=0;ind<=nr;ind++){
        vl[ind]=v[ind]%mod;
        v[ind]=0;
      }
    }
    cout<<vl[x];
    return 0;
}