Pagini recente » Cod sursa (job #195972) | Cod sursa (job #1525193) | Cod sursa (job #2949422) | Cod sursa (job #1802613) | Cod sursa (job #1240483)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("flip.in");
ofstream g("flip.out");
int n, m;
int mat[20][20];
int semn[20];
bool ok;
int maxim = 0;
int modul(int x)
{
if (x < 0) return -x;
return x;
}
int calc() {
int sum = 0;
for (int i=1;i<=n;i++) {
int scol = 0;
for (int j=1;j<=m;j++)
scol += mat[i][j] * semn[j];
sum += modul(scol);
}
return sum;
}
void back(int k)
{
if (k == m+1)
{
if (!ok)
{
maxim = calc();
ok = true;
}
else
{
int r = calc();
if (maxim < r)
{
maxim = r;
}
}
}
else
{
semn[k] = 1;
back(k+1);
semn[k] = -1;
back(k+1);
}
}
int main() {
f>>n>>m;
for (int i=1;i<=n;i++)
for (int j=1;j<=m;j++)
f>>mat[i][j];
back(1);
g<<maxim<<'\n';
return 0;
}