Cod sursa(job #2123400)

Utilizator AlexandruLuchianov1Alex Luchianov AlexandruLuchianov1 Data 6 februarie 2018 10:43:14
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.86 kb
#include <iostream>
#include <fstream>

using namespace std;
ifstream in ("flip.in");
ofstream out ("flip.out");
#define MAX(a , b) ((a < b) ? b : a)
int const nmax = 16;
int v[5 + nmax][5 + nmax];
int n , m;
int test(int mask){
  int result = 0;
  for(int i = 0 ; i < n ;i++){
    int sum = 0 , sum2 = 0;
    for(int j = 0 ; j < m ;j++){
      if(0 < ((1 << j) & mask)){
        sum += -v[i][j];
        sum2 += v[i][j];
      } else{
        sum += v[i][j];
        sum2 += -v[i][j];
      }
    }
    result += MAX(sum , sum2);
  }
  return result;
}
int main()
{
  in>>n>>m;
  for(int i = 0 ; i < n ;i++){
    for(int j = 0 ; j < m ;j++){
      in>>v[i][j];
    }
  }
  int masklim = (1 << m);
  int smax = 0;
  for(int h = 0 ; h < masklim ;h++){
    int result = test(h);
    smax = MAX(result , smax);
  }
  out<<smax;
  return 0;
}