Pagini recente » Cod sursa (job #736180) | Cod sursa (job #2945270) | Cod sursa (job #2804394) | Cod sursa (job #2478257) | Cod sursa (job #88781)
Cod sursa(job #88781)
#include<stdio.h>
int v[16][16],m,n,i,j,x,v1[15],v2[15],s,max;
void inm_linia(){
int s;
s=0;
for (j=0;j<m;++j){
s=s+v[i][j];
}
if (s<0){
for (i=0;i<n;++i)
v[i][j]=v[i][j]*(-1);
}
}
void inm_coloana(){
int s;
s=0;x=0;
for (j=0;j<m;++j){
s=s+v[j][i];
}
if (s<0){
for (j=0;j<n;++j){
v[j][i]=v[j][i]*(-1);
x=x+v[j][i];
}
}
}
int putere(int n){
int temp2=1;
for (int temp=0;temp<n;++temp)
temp2*=2;
return temp2;
}
void baza(){
int baz=0,a;
a=i;
while (a!=0){
baz=baz+1;
v1[baz]=a%2;
a=a/2;
}
a=j;
while (a!=0){
baz=baz+1;
v2[baz]=a%2;
a=a/2;
}
}
void compara(){
s=0;
for (i=0;i<n;++i)
if (v1[i]==1)inm_linia();
for (i=0;i<m;++i)
if (v2[i]==1)inm_coloana();
for (i=0;i<n;++i)
for (j=0;j<m;++j)
s=s+v[i][j];
}
int main(){
freopen("flip.in","r",stdin);
freopen("flip.out","w",stdout);
scanf("%d %d",&n,&m);
for (i=0;i<n;++i){
for (j=0;j<m;++j)
scanf("%d ",&v[i][j]);
}
max=-1000001;s=0;
for (i=putere(n);i<putere(n+1);++i){
for (j=putere(m);i<putere(m+1);++j){
baza();
compara();
if (s>max) max=s;
}
}
printf("%d\n",max);
fclose(stdin);
fclose(stdout);
return 0;
}