Pagini recente » Cod sursa (job #1505643) | Cod sursa (job #3141592) | Cod sursa (job #784864) | Cod sursa (job #2426344) | Cod sursa (job #182208)
Cod sursa(job #182208)
#include<stdio.h>
#define nmax 20
int a[nmax][nmax];
int n,m;
int solfin;
void change_1(int linie)
{int i;
for(i=1; i<=m; ++i)
a[linie][i]*=-1;
}
void change_2(int col)
{
int i;
for(i=1; i<=n; ++i)
a[i][col]*=-1;
}
void stuff()
{int i,j,sum;
for(i=1; i<=m; ++i){
sum=0;
for(j=1; j<=n; ++j)
sum+=a[j][i];
if( sum<0)
change_2(i);
}
}
void back_1(int linie)
{
if( linie==n+1)
{
int sum=0,i,j;
for(i=1; i<=n; ++i)
for(j=1; j<=m; ++j)
sum+=a[i][j];
if(sum>solfin)
solfin=sum;
return;
}
stuff();
back_1(linie+1);
change_1(linie);
stuff();
back_1(linie+1);
}
int main()
{
freopen("flip.in","r",stdin);
freopen("flip.out","w",stdout);
scanf("%d%d",&n,&m);
int i,j;
for(i=1; i<=n; ++i)
for(j=1; j<=m; ++j)
scanf("%d",&a[i][j]);
back_1(1);
printf("%d\n",solfin);
return 0;
}