Pagini recente » Cod sursa (job #399623) | Cod sursa (job #391502) | Cod sursa (job #1838501) | Cod sursa (job #2347255) | Cod sursa (job #1006151)
#include<iostream>
#include<stdio.h>
using namespace std;
#define MAX 17
void citire (int v[MAX][MAX], long int n, long int m)
{
int i,j;
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
cin>>v[i][j];
}
void afisare (int v[MAX][MAX], long int n, long int m)
{
int i,j;
for(i=1;i<=n;i++)
{ for(j=1;j<=m;j++)
cout<<v[i][j]<<" ";
cout<<endl;
}
}
int flip_c (int v[MAX][MAX], long int n, long int m, long int lin)
{
int suma = 0;
int j;
for(j=1;j<=m;j++)
v[lin][j] = 0 - v[lin][j];
for(j=1;j<=m;j++)
suma = suma + v[lin][j];
for(j=1;j<=m;j++)
v[lin][j] = 0 - v[lin][j];
return suma;
}
int flip_l (int v[MAX][MAX], long int n, long int m, long int col)
{
int suma = 0;
int i;
for(i=1;i<=n;i++)
v[i][col] = 0 - v[i][col];
for(i=1;i<=n;i++)
suma = suma + v[i][col];
for(i=1;i<=n;i++)
v[i][col] = 0 - v[i][col];
return suma;
}
int main()
{
int v[MAX][MAX];
long int i,j,n,m,s_max,smax;
int si=1, sj=1;
freopen("flip.in","r",stdin);
freopen("flip.out","w",stdout);
cin>>n>>m;
citire(v,n,m);
s_max = -999;
smax = -999;
int sumaX=0;
for(i=1;i<=n;i++)
if(flip_c (v, n, m, i) > s_max) { s_max = flip_c (v, n, m, i); si=i; }
for(j=1;j<=m;j++)
if(flip_l (v, n, m, j) > smax) { smax = flip_l (v, n, m, j); sj=j; }
/*
if (smax > s_max) cout<<smax;
if (smax == s_max) cout<<s_max;
if (smax < s_max) cout<<s_max;
*/
//afisare(v,n,m);
for(j=1;j<=m;j++)
v[si][j] = 0 - v[si][j];
for(i=1;i<=n;i++)
v[i][sj] = 0 - v[i][sj];
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
sumaX += v[i][j];
cout<<sumaX;
}