Pagini recente » Cod sursa (job #1627821) | Cod sursa (job #2651723) | Cod sursa (job #490734) | Cod sursa (job #1629473) | Cod sursa (job #311593)
Cod sursa(job #311593)
#include <fstream>
int a[18][18];
#define a (a-1)
int a2[18][18];
#define a2 (a2-1)
int m,n;
int st[20];
#define st (st-1)
long long suma;
using namespace std;
int citire(){
int i,j;
scanf("%lld %lld",&n,&m);
for (i=1;i<=n;i++)
for (j=1;j<=m;j++)
scanf("%lld",&a[i][j]);
return 0;
}
int compara(){
int i,j,h;
int vert;
long long sumasec;
sumasec=0;
for (i=1;i<=n;i++)
for (j=1;j<=m;j++)
if (st[i]==1){a2[i][j]=a[i][j];}
else {a2[i][j]=a[i][j]*(-1);}
for (j=1;j<=m;j++){
vert=0;
for (i=1;i<=n;i++){
vert +=a2[i][j];
}
if (vert<0){for (h=1;h<=n;h++){
a2[h][j]=a2[h][j]*-1;
}
}
}
for (i=1;i<=n;i++)
for (j=1;j<=m;j++){
sumasec += a2[i][j];
}
if (sumasec>suma){
suma=sumasec;}
return 0;
}
int back(){
int k;
k=1;
while (k!=0){
st[k]++;
if (k==n){compara();}
if (st[k]<3){
if (k==n){ st[k]++;}
else k++;
}
else {
st[k]=0;
k--;
}
}
return 0;
}
int main(){
freopen ("flip.in","r",stdin);
freopen ("flip.out","w",stdout);
citire();
back();
printf("%lld",suma);
return 0;
}