Pagini recente » Cod sursa (job #3171169) | Cod sursa (job #260320) | Cod sursa (job #2358722) | Cod sursa (job #123277) | Cod sursa (job #428784)
Cod sursa(job #428784)
#include<fstream>
using namespace std;
ifstream in("flip.in");
ofstream out("flip.out");
int table[17][17], n, m, s, sc[17], rez=-1000000;
bool sol[17];
int inline sum()
{
int aux=0, x, i, j;
for(i=0; i<=m; i++)
if(sol[i])
break;
if(i == m+1)
return s;
for(j=1; j<=n; j++)
{
x = sc[j]-2*table[j][i];
aux += x>0?x:-x;
}
return aux;
}
void inline flip(int i)
{
for(int j=1; j<=n; j++)
table[j][i] *= -1;
}
void back(int p)
{
if (p==m+1)
{
rez = max(rez, sum());
return;
}
sol[p] = false;
back(p+1);
sol[p] = true;
back(p+1);
}
int main()
{
in>>n>>m;
for(int i=1; i<=n; i++)
for(int j=1; j<=m; j++)
{
in>>table[i][j];
s+=table[i][j];
sc[i]+=table[i][j];
}
back(1);
out<<rez;
return 0;
}