Pagini recente » Cod sursa (job #2487591) | Cod sursa (job #1292374) | Cod sursa (job #1937289) | Cod sursa (job #94828) | Cod sursa (job #1241180)
#include <iostream>
#include <fstream>
using namespace std;
ifstream in("flip.in");
ofstream out("flip.out");
int m,n,maxim=-99999,mat[100][100];
int lin[100], col[100];
long long si=-16000001;
void citire(){
in>>n>>m;
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++)
in>>mat[i][j];
}
void change(int a, int b){
if(a){
for(int i=1;i<=m;i++){
mat[a][i]=-mat[a][i];
}
}
else
for(int i=1;i<=n;i++)
mat[i][b]=-mat[i][b];
}
void sum()
{
long long sum=0;
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++)
sum=sum+mat[i][j];
if(sum>si) si=sum;
}
void bck2(int j){
if(j<=m){
sum();
bck2(j+1);
change(0,j);
sum();
bck2(j+1);
change(0,j);
}
}
void bck(int i){
if(i<=n){
bck(i+1);
bck2(1);
change(i,0);
bck2(1);
bck(i+1);
}
}
int main()
{
citire();
bck(1);
out<<si;
return 0;
}