Pagini recente » Cod sursa (job #527057) | Cod sursa (job #1334703) | Cod sursa (job #1460142) | Cod sursa (job #2494727) | Cod sursa (job #3039806)
#include <fstream>
using namespace std;
int n,m,a[101][101],schimb[101],schimb2[101],f[101],max0=-1000000000;
ifstream fin("flip.in");
ofstream fout("flip.out");
void verificare(){
for(int i=1;i<=n;i++)
if(f[i]==1)
schimb[i]=1;
else
schimb[i]=0;
for(int j=n+1;j<=n+m;j++)
if(f[j]==1)
schimb2[j-n]=1;
else
schimb2[j-n]=0;
int suma=0;
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++){
int ok=schimb[i]+schimb2[j];
if(ok%2==0)
suma+=a[i][j];
else
suma-=a[i][j];
}
max0=max(max0,suma);
}
void back(int poz){
if(poz==n+m+1)
verificare();
else
for(int i=0;i<=1;i++){
f[poz]=i;
back(poz+1);
}
}
int main(){
fin>>n>>m;
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++)
fin>>a[i][j];
back(1);
fout<<max0;
return 0;
}