Cod sursa(job #1212490)

Utilizator radudurlesteanuDurlesteanu Radu Stefan radudurlesteanu Data 24 iulie 2014 21:21:40
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.67 kb
#include <cstdio>
using namespace std;
long a[16][16],n,i,j,S,m,maxim,v[20],cif[20],sc;
void adun2(long y[2],long x[20])
{
int i,t=0;
for (i=1;i<=y[0] || i<=x[0] || t;i++,t/=2)
y[i]=(t+=y[i]+x[i])%2;
}
int main()
{
freopen("flip.in","r",stdin);
freopen("flip.out","w",stdout);
scanf("%ld%ld",&n,&m);
for (i=0;i<n;i++)
for (j=0;j<m;j++)
scanf("%ld",&a[i][j]);
cif[0]=1;cif[1]=1;v[0]=m;
while (v[m+1]==0)
  {
   S=0;sc=0;
   for(i=0;i<n;i++)
    {
     sc=0;
     for(j=0;j<m;j++)
     if (v[j]==1) sc+=a[i][j];
             else sc+=a[i][j]*(-1);
     if(sc<0) sc=-sc;
     S+=sc;
    }
   if (maxim<S) maxim=S;
  adun2(v,cif);
  }
printf("%ld",maxim);
}