Pagini recente » Cod sursa (job #2791753) | Cod sursa (job #2916825) | Cod sursa (job #348071) | Cod sursa (job #919934) | Cod sursa (job #2482836)
#include <iostream>
#include <fstream>
#define NMAX 18
using namespace std;
ifstream f("flip.in");
ofstream g("flip.out");
int har[NMAX][NMAX],n,m,smax,s,stemp;
void ver()
{
int i, j;
stemp=0;
for(i=1;i<=n;i++)
{
s=0;
for(j=1;j<=m;j++)
s+=har[i][j];
if(s<0) s*=-1;
stemp+=s;
}
if(stemp>smax) smax=stemp;
}
void flip(int k)
{
int i;
for(i=1;i<=n;i++)
har[i][k]*=-1;
}
void go(int k)
{
if(k==m+1) ver();
else
{
flip(k);
go(k+1);
flip(k);
go(k+1);
}
}
int main()
{
int i, j;
f>>n>>m;
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
f>>har[i][j];
go(1);
g<<smax;
return 0;
}