Pagini recente » Cod sursa (job #1526530) | Cod sursa (job #1407746) | Cod sursa (job #1638775) | Cod sursa (job #43019) | Cod sursa (job #2083664)
#include <bits/stdc++.h>
using namespace std;
typedef long long int ll;
typedef long double ld;
inline void debugMode() {
ios::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
#ifndef ONLINE_JUDGE
freopen("flip.in", "r", stdin);
freopen("flip.out", "w", stdout);
#endif // ONLINE_JUDGE
}
inline void PrintYes() { cout << "Yes"; }
inline void PrintNo() { cout << "No"; }
const double eps = 1e-7;
int a[17][17], v[50], n, m;
int ans;
/// in v[] voi retine cu cat este inmultita linia i --> v[i] = -1 => linia i este inmultita cu -1
/// --> v[i] = 1 => linia i este inmultita cu 1
void solve(int k)
{
int sum = 0;
for(int j = 1; j <= m; ++j) {
int s_col = 0;
for(int i = 1; i <= n; ++i) {
s_col += v[i] * a[i][j];
}
if(s_col < 0)
s_col = -s_col;
sum += s_col;
}
if(sum > ans)
ans = sum;
}
void Back(int k)
{
for(int i = -1; i <= 1; i += 2) {
v[k] = i;
if(k == n)
solve(k);
else
Back(k + 1);
}
}
int main()
{
debugMode();
cin >> n >> m;
for(int i = 1; i <= n; ++i)
for(int j = 1; j <= m; ++j)
cin >> a[i][j];
Back(1);
cout << ans;
return 0;
}