Pagini recente » Cod sursa (job #434926) | Cod sursa (job #1830453) | Cod sursa (job #3257009) | Cod sursa (job #867343) | Cod sursa (job #1743736)
#include <stdio.h>
#include <bitset>
using namespace std;
int n,m;
int tabla[18][18];
int suma_linie[18];
int rezolv;
void read()
{
freopen("flip.in","r",stdin);
freopen("flip.out","w",stdout);
scanf("%d %d",&n,&m);
for(int i = 1 ; i <= n ; i++)
{for(int j = 1 ; j <= m ; j++)
{
scanf("%d ",&tabla[i][j]);
suma_linie[i] += tabla[i][j];
}
rezolv += suma_linie[i];
}
}
void rezolvare()
{
for(int verf = 0 ; verf < (1 << n) ; verf++)
{
int suma_tabla = 0;
for(int i = 0 ; i < n ; i++)
{
if( verf & (1 << i))
suma_tabla -= suma_linie[i+1];
else
suma_tabla += suma_linie[i+1];
}
for(int j = 1 ; j <= m ; j++)
{
int suma_coloana = 0;
for(int i = 0 ; i < n ; i++)
{
if(verf & (1 << i))
suma_coloana -= tabla[i+1][j];
else
suma_coloana += tabla[i+1][j];
}
if(suma_coloana < 0)
suma_tabla -= 2 * suma_coloana;
}
if(rezolv < suma_tabla);
rezolv = suma_tabla;
}
printf("%d",rezolv);
}
int main()
{
read();
rezolvare();
return 0;
}