Pagini recente » Cod sursa (job #255316) | Cod sursa (job #550580) | Cod sursa (job #3157523) | Cod sursa (job #3279688) | Cod sursa (job #2602577)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("flip.in");
ofstream g("flip.out");
int m,n;
int a[17][17];
int sub[300];
long long SUM;
long long submultimi()
{
int k;
long long nr=1,M=-1,m1=0,s,s1;
int i,j;
int nr1,poz;
for(i=1;i<=m;i++)nr=nr*2;
for(int q=0;q<=nr-1;q++)
{
poz=0;
nr1=0;
k=q;
while(k)
{
poz++;
if(k%2==1)sub[++nr1]=poz;
k/=2;
}
s1=SUM;
for(i=1;i<=nr1;i++)
for(j=1;j<=n;j++){a[sub[i]][j]*=(-1);s1+=2*a[sub[i]][j];}
for(j=1;j<=n;j++)
{
s=0;
for(i=1;i<=m;i++)
s+=a[i][j];
if(s<=0)s1-=2*s;
}
if(s1>M)M=s1;
for(i=1;i<=nr1;i++)
for(j=1;j<=n;j++)a[sub[i]][j]*=(-1);
}
return M;
}
int main()
{
f>>m>>n;
for(int i=1;i<=m;i++)
for(int j=1;j<=n;j++){f>>a[i][j];SUM+=a[i][j];}
g<<submultimi();
return 0;
}