Pagini recente » Cod sursa (job #978878) | Cod sursa (job #3320073) | Cod sursa (job #945401) | Cod sursa (job #3353529) | Cod sursa (job #3324077)
#include <bits/stdc++.h>
using namespace std;
fstream fin("flip.in");
fstream fout("flip.out");
long long mat[16][16];
int N, M;
int main()
{
if (!(fin >> N >> M)) return 0;
for (int i = 0; i < N; i++)
{
for (int j = 0; j < M; j++)
{
fin >> mat[i][j];
}
}
long long suma_maxima = -2000000000000000000LL;
int numar_combinatii = 1 << N;
for (int mask = 0; mask < numar_combinatii; mask++)
{
long long suma_curenta = 0;
for (int j = 0; j < M; j++)
{
long long S_prime_j = 0;
for (int i = 0; i < N; i++)
{
int factor_linie = 1 - 2 * ((mask >> i) & 1);
S_prime_j += mat[i][j] * factor_linie;
}
suma_curenta += abs(S_prime_j);
}
if (suma_curenta > suma_maxima)
{
suma_maxima = suma_curenta;
}
}
fout << suma_maxima << "\n";
return 0;
}