Cod sursa(job #1846644)

Utilizator radudurlesteanuDurlesteanu Radu Stefan radudurlesteanu Data 13 ianuarie 2017 19:43:10
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.72 kb
#include <cstdio>
#include <algorithm>
#define N 17
using namespace std;

int a[N][N],n,m,MaxSum;

void Read() {
freopen("flip.in","r",stdin);
scanf("%d%d",&n,&m);
for (int i=0;i<n;++i)
    for (int j=0;j<m;++j)
        scanf("%d",&a[i][j]);
}

void Update() {
int sum=0,s;
for (int j=0;j<m;++j) {
    s=0;
    for (int i=0;i<n;++i)
            s+=a[i][j];
    if (s<0) s*=-1;
    sum+=s;
    }
MaxSum=max(MaxSum,sum);
}

void Back(int k) {
for (int i=0;i<=1;i+=1) {
    for (int j=0;j<m;++j)
        a[k][j]*=-1;
   if (k==n-1) Update();
   else Back(k+1);
   }
}

void Write() {
freopen("flip.out","w",stdout);
printf("%d",MaxSum);
}
int main()
{
Read();
Back(0);
Write();
return 0;
}