Pagini recente » Cod sursa (job #1888261) | Cod sursa (job #2497069) | Cod sursa (job #276085) | Cod sursa (job #2177675) | Cod sursa (job #1720761)
#include <fstream>
#include <algorithm>
#define NMAX 17
using namespace std;
int n,m,p,a[NMAX][NMAX],i,j,x,r[17],q,put,y,aux,l,s1,s2,s,cnt,k;
long long sumtot=-9999999999,sumF,sum,sumfin;
void flipL(int x)
{
for(k=1;k<=m;k++)
{
a[x][k]=-a[x][k];
}
}
void flipC(int x)
{
for(k=1;k<=n;k++)
a[k][x]=-a[k][x];
}
void Greedy()
{
sumfin=0;
for(i=1;i<=m;i++)
{
sum=0;
sumF=0;
for(j=1;j<=n;j++)
{
sum=sum+a[j][i];
sumF=sumF-a[j][i];
}
sumfin=sumfin+max(sum,sumF);
}
sumtot=max(sumtot,sumfin);
}
int main()
{
ifstream f("flip.in");
ofstream g("flip.out");
f>>n>>m;
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
f>>a[i][j];
put=(1<<n);
for(y=0;y<put;y++)
{
aux=y;
for(i=0;i<=16;i++)
if(((y>>i)&1)==1)
{
flipL(i+1);
}
Greedy();
for(i=0;i<=16;i++)
{
if(((aux>>i)&1)==1)
flipL(i+1);
}
}
g<<sumtot;
}