Pagini recente » Cod sursa (job #2265038) | Cod sursa (job #19543) | Cod sursa (job #2944084) | Cod sursa (job #1687247) | Cod sursa (job #1639590)
#include <iostream>
#include <fstream>
#include <climits>
using namespace std;
ifstream fin ("flip.in");
ofstream fout("flip.out");
int Map[17][17] , n , m , x[50];
int suma , sumaMax = INT_MIN;
void Read(){
fin >> n >> m;
for(int i = 1 ; i <= n ; i++)
for(int j = 1 ; j <= m ; j++)
fin >> Map[i][j];
}
void Sum(){
int s;
for(int i = 1 ; i <= n ; i++){
s = 0;
for(int j = 1 ; j <= n ; j++){
s += Map[i][j] * x[j];
}
if(s < 0) suma -= s;
else suma += s;
}
}
void Back(int k){
if(k > m){
suma = 0;
Sum();
if(suma > sumaMax) sumaMax = suma;
}
else for(int i = 0 ; i <= 1 ; i++){
x[k] = (i==0?-1:1);
Back(k + 1);
}
}
int main()
{
Read();
Back(1);
fout << sumaMax;
return 0;
}