Pagini recente » Cod sursa (job #2245831) | Cod sursa (job #3225197) | Cod sursa (job #1924832) | Cod sursa (job #683687) | Cod sursa (job #1466675)
#include <iostream>
#include <fstream>
#include <cmath>
using namespace std;
long int sum=0;
int n, m;
void Flip(int y, long int a[32][32])
{
int i, j, z;
long int k = 0, v;
if (y == m)
{
for (i = 0; i < n; i++)
for (j = 0; j < m; j++)
k += a[i][j];
sum = max(k, sum);
}
else
{
z = -1;
for (i = 0; i < n; i++)
{
a[i][y] = a[i][y] * z;
v = 0;
for (j = 0; j < m; j++)
v += a[i][j];
if (v < 0)
for (j = 0; j < m; j++)
a[i][j] = a[i][j] * z;
}
Flip(y+1,a);
z = 1;
for (i = 0; i < n; i++)
{
a[i][y] = a[i][y] * z;
v = 0;
for (j = 0; j < m; j++)
v += a[i][j];
if (v < 0)
for (j = 0; j < m; j++)
a[i][j] = a[i][j] * z;
}
Flip(y+1,a);
}
}
main()
{
ifstream f1("test.in");
ofstream f2("test.out");
long int matrix[32][32];
int i, j;
f1>>n>>m;
for (i = 0; i < n; i++)
for (j = 0; j < m; j++)
{
f1 >> matrix[i][j];
sum += matrix[i][j];
}
Flip(0,matrix);
f2 << sum;
}