Pagini recente » Cod sursa (job #42100) | Cod sursa (job #301462) | Cod sursa (job #920856) | Cod sursa (job #1250649) | Cod sursa (job #1108634)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("flip.in");
ofstream g("flip.out");
int n, m, x,a[20][20], v[50], b;
void comutare()
{
int i, j;
for (i = 1; i <= n;i++)
if (v[i]==1)
for (j = 1; j <= m; j++)a[i][j] = -a[i][j];
for (i = n + 1; i <= n + m;i++)
if (v[i]==1)
for (j = 1; j <= n; j++)
a[j][i - n] = -a[j][i - n];
}
void calcul(int k)
{
int l = 0, i, j;
comutare();
for (i = 1; i <= n; i++)
for (j = 1; j <= m; j++)
l = l + a[i][j];
comutare();
if (l > x)
x = l;
}
void Back(int k)
{
for (int i =0; i <=1; i++)
{
v[k] = i;
if (k == m+n)calcul(k);
else Back(k + 1);
}
}
int main()
{
int i, j;
f >> n >> m;
for (i = 1; i <= n;i++)
for (j = 1; j <= m; j++)
f >> a[i][j];
Back(1);
g << x;
return 0;
}