Pagini recente » Cod sursa (job #971332) | Cod sursa (job #1801942) | Cod sursa (job #487852) | Cod sursa (job #1514787) | Cod sursa (job #594055)
Cod sursa(job #594055)
#include <cstdio>
int n , m , D[16][16] , maxs , lmax;
static inline int max(int a,int b)
{
return a > b ? a : b;
}
void backlinie(int k,int sum)
{
if(k==n)
{
maxs = max(maxs,sum);
}
else
{ int a ,b , c ,d ;
a = b = 0;
for(int j=0;j<m;++j)
a+=D[k][j] , b+=D[k][j]*-1;
backlinie(k+1,sum+a);
backlinie(k+1,sum+b);
}
}
void backcol(int k,int sum)
{
if(k==n)
{
maxs = max(maxs,sum);
}
else
{ int a ,b , c ,d ;
a = b = 0;
for(int j=0;j<n;++j)
a+=D[j][k] , b+=D[j][k]*-1;
backcol(k+1,sum+a);
backcol(k+1,sum+b);
}
}
void read()
{
freopen("flip.in","r",stdin);
scanf("%d %d",&n,&m); lmax = max(m,n);
for(int i=0;i<n;++i)
for(int j=0;j<m;++j)
scanf("%d",&D[i][j]);
}
void write()
{
freopen("flip.out","w",stdout);
printf("%d",maxs);
}
int main()
{
read();
backlinie(0,0);
backcol(0,0);
write();
}