Pagini recente » Cod sursa (job #1351204) | Cod sursa (job #217783) | Cod sursa (job #401825) | Cod sursa (job #799875) | Cod sursa (job #1843243)
#include <fstream>
using namespace std;
ifstream fin("flip.in");
ofstream fout("flip.out");
int n,m,a[17][17],x[17],smax;
int s[17];
//int viz[17];
void Citire()
{int i,j;
fin>>n>>m;
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
{fin>>a[i][j];
smax=smax+a[i][j];
}
}
int Calcul(int k)
{int i,j,y,sum;
y=x[k]; sum=0;
for(j=1;j<=m;j++) a[y][j]=-a[y][j];
for(j=1;j<=m;j++)
for(i=1;i<=n;i++)
s[j]=s[j]+a[i][j];
for(j=1;j<=m;j++)
{if(s[j]<0) sum=sum-s[j];
else sum=sum+s[j];
}
return sum;
}
void Back(int k)
{int i,sum,j;
for(i=x[k-1]+1;i<=n;i++)
{x[k]=i;
for(j=1;j<=m;j++) s[j]=0;
sum=Calcul(k);
// fout<<sum<<"\n";
if(sum>smax) smax=sum;
if(x[k]<n) Back(k+1);
}
}
int main()
{
Citire();
Back(1);
fout<<smax;
return 0;
}