Pagini recente » Cod sursa (job #1339487) | Cod sursa (job #1583389) | Cod sursa (job #484050) | Cod sursa (job #3286893) | Cod sursa (job #3134880)
#include <bits/stdc++.h>
using namespace std;
int v[25][25], cop[25][25], x[25], sum[25], sum2[25];
int main()
{
ifstream cin("flip.in");
ofstream cout("flip.out");
int n, m, nr, poz, s=0, maxnr=0, y=-1, t=0, t2=0, a;
cin>>n>>m;
for(int i=1; i<=n; i++)
{
for(int j=1; j<=m; j++)
{
cin>>v[i][j];
cop[i][j]=v[i][j];
sum[i]+=v[i][j];
sum2[i]=sum2[i]+v[i][j]*y;
}
}
nr=pow(2, n);
for(int w=1; w<=nr; w++)
{
s=0;
for(int i=1; i<=n; i++)
{
if(x[i]==1)
s=s+sum2[i];
else
s=s+sum[i];
}
for(int j=1; j<=m; j++)
{
t=0;t2=0;
for(int i=1; i<=n; i++)
{
a=v[i][j];
if(x[i]==1)
a=v[i][j]*y;
a=a*y;
t2=t2+a;
}
for(int i=1; i<=n; i++)
{
a=v[i][j];
if(x[i]==1)
a=v[i][j]*y;
t=t+a;
if(t>t2)break;
}
if(t2>t)
s=s+t2-t;
}
if(s>maxnr)
maxnr=s;
poz=1;
while(x[poz]==1)
{
x[poz]=0;
poz++;
}
x[poz]=1;
}
cout<<maxnr;
return 0;
}