Pagini recente » Cod sursa (job #86183) | Cod sursa (job #1433325) | Cod sursa (job #619637) | Cod sursa (job #529792) | Cod sursa (job #3143882)
#include <fstream>
using namespace std;
ifstream cin ("flip.in");
ofstream cout ("flip.out");
int linii , coloane , matrice[17][17];
int main ()
{
cin >> linii >> coloane;
int suma_maxima = 0;
for (int linie = 1 ; linie <= linii ; linie++)
for (int coloana = 1 ; coloana <= coloane ; coloana++)
{ cin >> matrice[linie][coloana]; suma_maxima += matrice[linie][coloana]; }
for (int masca = 0 , limita = (1 << coloane) ; masca < limita ; masca++)
{
int suma = 0;
for (int linie = 1 ; linie <= linii ; linie++)
{
int suma_negativ = 0 , suma_pozitiv = 0;
for (int coloana = 1 ; coloana <= coloane ; coloana++)
if ((matrice[linie][coloana] * ((masca >> (coloana - 1) & 1) ? -1 : 1)) < 0) suma_negativ += abs(matrice[linie][coloana]);
else suma_pozitiv += abs(matrice[linie][coloana]);
suma += max(suma_negativ , suma_pozitiv) - min(suma_negativ , suma_pozitiv);
}
suma_maxima = max(suma_maxima , suma);
}
cout << suma_maxima;
cout.close(); cin.close();
return 0;
}