Pagini recente » Cod sursa (job #2328300) | Cod sursa (job #281192) | Cod sursa (job #2323829) | Cod sursa (job #1817383) | Cod sursa (job #769403)
Cod sursa(job #769403)
#include <cstdio>
#include <algorithm>
using namespace std;
int n,m,c[20][20],b[20],s_max;
void rezolva(){
/* for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++) c[i][m+1] += c[i][j];
for(int j=1;j<=m;j++)
for(int i=1;i<=n;i++) c[n+1][j] += c[i][j];*/
int i, s0 = 0, s, s1;
, s0 = 0, s, s1;
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++) s0 += c[i][j];
// printf("%d\n",s0);
while( b[n+1] == 0 )
{
i = 1;
while(b[i])
{
for(int j=1;j<=m;j++)
{
s0 -= c[i][j];
c[i][j] = -c[i][j];
s0 += c[i][j];
}
b[i] = 0;
i++;
}
b[i] = 1;
for(int j=1;j<=m;j++)
{
s0 -= c[i][j];
c[i][j] = -c[i][j];
s0 += c[i][j];
}
// for(int i=1;i<=n;i++) printf("%d ",b[i]);// printf("\n%d ",s0);
// printf("\n");
/* for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++) printf("%d ",c[i][j]); printf("\n"); } printf("----------------------------------------------\n");*/
s1 = 0;
s = s0;
for(int j=1;j<=m;j++)
{
s1 = s;
for(int i=1;i<=n;i++)
{
s1 -= c[i][j];
s1 += -c[i][j];
}
s = max(s, s1);
// printf("%d ",s);
}
// printf("\n");
s_max = max(s_max,s);
}
}
int main(){
freopen("flip.in","r",stdin);
freopen("flip.out","w",stdout);
scanf("%d %d",&n,&m);
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++) scanf("%d",&c[i][j]);
rezolva();
//for(int i=1;i<=n+1;i++){
// for(int j=1;j<=m+1;j++) printf("%d ",c[i][j]); printf("\n"); }
printf("%d\n",s_max);
return 0;
}