Pagini recente » Cod sursa (job #3144465) | Cod sursa (job #1091247) | Cod sursa (job #1070629) | Cod sursa (job #33993) | Cod sursa (job #2411634)
#include <fstream>
using namespace std;
ifstream fin("flip.in");
ofstream fout("flip.out");
const int NMax = 16, oo = 2e9;
int N, M, A[NMax + 5][NMax + 5], V[NMax + 5][NMax + 5], C[NMax + 5], Lim, Sol = -oo;
int Solve()
{
int Ans = 0;
for(int j = 1; j <= M; j++)
{
C[j] = 0;
for(int i = 1; i <= N; i++)
C[j] += V[i][j];
Ans += abs(C[j]);
}
return Ans;
}
int main()
{
fin >> N >> M; Lim = (1 << N);
for(int i = 1; i <= N; i++)
for(int j = 1; j <= M; j++)
fin >> A[i][j];
for(int i = 0, s; i < Lim; i++)
{
for(int k = 1, x = i; k <= N; k++, x >>= 1)
{
s = ((x & 1) ? -1 : 1);
for(int j = 1; j <= M; j++)
V[k][j] = s * A[k][j];
}
Sol = max(Sol, Solve());
}
fout << Sol << '\n';
fin.close();
fout.close();
return 0;
}