Pagini recente » Cod sursa (job #389555) | Cod sursa (job #2372477) | Cod sursa (job #2623365) | Cod sursa (job #3260962) | Cod sursa (job #1169252)
#include <cstdio>
//#include <iostream>
using namespace std;
int a[21][21],n,m,summax;
void Schimbalin(int lin){
int i;
for(i = 1; i <= m; i++)
a[lin][i]*=-1;
}
void Schimbacol(int col){
int i;
for(i = 1; i <= n; i++)
a[i][col]*=-1;
}
int Calc(){
int sum,i,j;
sum=0;
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
sum+=a[i][j];
return sum;
}
void Solvecol(int k){
int i;
if(k == m+1)
;
else
for(i=1;i<=2;i++)
{
if(i==1)
{
if(Calc() > summax)
summax = Calc();
Solvecol(k+1);
}
else
{
Schimbacol(k);
if(Calc() > summax)
summax = Calc();
else Schimbacol(k);
Solvecol(k+1);
}
}
}
void Flip(int k){
int i;
if(k == n+1)
{
;
}
else
{
for(i=1;i<=3;i++)
{
if(i == 1)
{
if(Calc() > summax)
summax = Calc();
// Solvecol(1);
Flip(k+1);
}
else if(i==2)
{
Schimbalin(k);
if(Calc() > summax)
summax = Calc();
else Schimbalin(k);
// Solvecol(1);
Flip(k+1);
}
else
Solvecol(1);
}
}
}
int main(){
int i,j;
freopen("flip.in","r",stdin);
freopen("flip.out","w",stdout);
scanf("%d%d",&n,&m);
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
{scanf("%d",&a[i][j]);summax+=a[i][j];}
Flip(1);
//Schimbalin(2);
// for(i=1;i<=n;i++)
// {
// for(j=1;j<=m;j++)
// fout << a[i][j]<<" ";
// fout << "\n";
// }
printf("%d\n",summax);
return 0;
}