Cod sursa(job #942787)

Utilizator ionesi12Ionesi Lucian ionesi12 Data 23 aprilie 2013 16:27:34
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.75 kb
#include<fstream>
#include<algorithm>

using namespace std;

int mat[20][20];

int main(){
  ifstream in("flip.in");
  ofstream out("flip.out");

  int n, m;
  in >> n >> m;

  int ans = 0;
  for(int i = 0; i < n; ++i)
    for(int j = 0; j < m; ++j){
      in >> mat[i][j];
      ans += mat[i][j];
    }

  int lim = 1 << n;
  for(int i = 0; i < lim; ++i){
    int pans = 0;
    for(int k = 0; k < m; ++k){
      int s1 = 0, s2 = 0;
      for(int j = 0; j < n; ++j)
        if((1 << j) & i){
          s1 -= mat[j][k];
          s2 += mat[j][k];
        }
        else{
          s1 += mat[j][k];
          s2 -= mat[j][k];
        }
      pans += max(s1, s2);
    }
    ans = max(ans, pans);
  }

  out << ans;

  return 0;
}