Pagini recente » Cod sursa (job #2941989) | Cod sursa (job #2120479) | Cod sursa (job #2504363) | Cod sursa (job #1485567) | Cod sursa (job #2200108)
#include <cstdio>
#include <bitset>
using namespace std;
int n,m;
int tabla[18][18];
long long suma_linie[18];
long long sumamax;
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];
}
sumamax +=suma_linie[i];
}
}
void Solve()
{
for(int verification = 0 ; verification < (1<<n) ; verification++)
{
long long TableSum = 0;
for(int i = 0 ; i< n ; i ++)
{
if(verification & (1 << i))
TableSum -=suma_linie[i+1];
else
TableSum += suma_linie[i+1];
}
for(int j = 1 ; j < n ; j++)
{
long long ColumnSum = 0;
for(int i = 0; i< n ; i++)
{
if(verification & (1 << i ))
ColumnSum -= tabla[i+1][j];
else
ColumnSum += tabla[i+1][j];
}
if(ColumnSum < 0)
TableSum -= 2*ColumnSum;
}
if(sumamax < TableSum)
sumamax = TableSum;
}
printf("%lld ", sumamax);
}
int main()
{
read();
Solve();
return 0;
}