Pagini recente » Cod sursa (job #492733) | Cod sursa (job #1311097) | Cod sursa (job #2130348) | Cod sursa (job #2902141) | Cod sursa (job #2214203)
//#include <iostream>
#include <fstream>
using namespace std;
int suma=0,maxim=0,n,m;
void backt(int durata,int mat[20][20]){
if(durata==0){
for(int i=1;i<=m;i++){
int sum=0;
for(int j=1;j<=n;j++){
sum+=mat[j][i];
}
if(sum<0){
sum*=-1;
for(int j=1;j<=n;j++){
mat[j][i]*=-1;
}
}
}
suma=0;
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
suma+=mat[i][j];
}
}
maxim=max(maxim,suma);
}
else{
backt(durata-1,mat);
for(int i=1;i<=m;i++){
mat[n-durata+1][i]*=-1;
}
backt(durata-1,mat);
}
}
int v[20][20];
int main()
{
ifstream cin("flip.in");
ofstream cout("flip.out");
cin>>n>>m;
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
cin>>v[i][j];
}
}
backt(n,v);
cout<<maxim;
return 0;
}