Pagini recente » Cod sursa (job #3148446) | Cod sursa (job #1937662) | Cod sursa (job #2099593) | Cod sursa (job #2961814) | Cod sursa (job #1775497)
#include <bits/stdc++.h>
using namespace std;
ifstream in ("flip.in");
ofstream out ("flip.out");
int Max , N , M , arr[25][25] , anw[25] , s[25];
void read ()
{
in >> N >> M;
for(int i = 1 ; i <= N ; ++ i)
{
for(int j = 1 ; j <= M ; ++ j)
{
in >> arr[i][j];
s[i] += arr[i][j];
}
}
}
int Calc()
{
int v[20] , i , j , sum = 0;
for(i = 1 ; i <= N ; ++ i)
v[i] = s[i];
for(i = 1 ; i <= M ; ++ i)
{
if(anw[i] == 1)
{
for(j = 1 ; j <= N ; ++ j)
v[j] += -2*arr[j][i];
}
}
for(i = 1 ; i <= N ; ++ i)
{
if(v[i] < 0)
v[i] = -1*v[i];
sum += v[i];
}
return sum;
}
void back (int k)
{
int x;
if(k == M + 1)
{
x = Calc();
if(x > Max)
Max = x;
}
else
{
for(int i = 0 ; i <= 1 ; ++ i)
{
anw[k] = i;
back(k + 1);
}
}
}
int main()
{
read();
back(1);
out << Max;
return 0;
}