Pagini recente » Cod sursa (job #2295484) | Cod sursa (job #205385) | Cod sursa (job #1565389) | Cod sursa (job #2463348) | Cod sursa (job #1170980)
#include <fstream>
using namespace std;
int n,m,b[20][20],a[20][20],sc[20],nr,subm[20],maxim,stot,lol;
int main()
{
ifstream in ("flip.in");
ofstream out ("flip.out");
in>>n>>m;
for (int i=1;i<=n;++i)
for (int j=1;j<=m;++j)
{ in>>a[i][j]; sc[j]+=a[i][j]; maxim+=a[i][j]; b[i][j]=a[i][j]; }
nr=1<<n;
for (int v=1;v<=nr;++v)
{
int j=1;
while (subm[j]==1)
{
for (int i=1;i<=m;++i) { sc[i]-=2*a[j][i]; a[j][i]=-a[j][i]; }
subm[j]=0;
++j;
}
subm[j]=1;
for (int i=1;i<=m;++i) { sc[i]-=2*a[j][i]; a[j][i]=-a[j][i]; }
stot=0;
for (int i=1;i<=m;++i) if ( sc[i]<0 ) { stot-=sc[i]; }else stot+=sc[i];
if (maxim<stot) { maxim=stot;}
}
out<<maxim;
in.close();
out.close();
}