Pagini recente » Cod sursa (job #2914829) | Cod sursa (job #548058) | Cod sursa (job #36686) | Cod sursa (job #351442) | Cod sursa (job #3246290)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("flip.in");
ofstream fout("flip.out");
int a[20][20] , n , m;
int st[20] , smax;
void Update()
{
int sum , sumTot = 0;
for(int i = 1;i <= n;i++)
{
sum = 0;
for(int j = 1;j <= m;j++)
if(st[j] == 0) sum += a[i][j];
else sum -= a[i][j];
if(sum < 0) sum = -sum;
sumTot += sum;
}
if(sumTot > smax) smax = sumTot;
}
void Back(int top)
{
if(top == m + 1) Update();
else for(int i = 0;i <= 1;i++)
{
st[top] = i;
Back(top + 1);
}
}
int main()
{
fin >> n >> m;
for(int i = 1;i <= n;i++)
for(int j = 1;j <= m;j++)
fin >> a[i][j];
smax = INT_MIN;
Back(1);
fout << smax;
return 0;
}
/**
5 3
4 -2 2 = 0
3 -1 5 = 3
2 0 -3 = -5
4 1 -3 = -8
5 -3 2 = 0
-------
1 1 0
*/