Cod sursa(job #2683218)

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

using namespace std;
ifstream cin("diamant.in");
ofstream cout("diamant.out");
int vl[100001],v[100001];
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++)
      {
        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];
    }
    cout<<vl[x];
    return 0;
}