Pagini recente » Cod sursa (job #2608314) | Cod sursa (job #124984) | Cod sursa (job #1168306) | Cod sursa (job #1633845) | Cod sursa (job #2770414)
#include <bits/stdc++.h>
using namespace std;
ifstream fin ("flip.in");
ofstream fout ("flip.out");
long long a[20][20],b[20][20],sum,n,m,i,j,s1,s2,maxim,s;
int main()
{
fin>>n>>m;
for (i=1;i<=n;i++)
{
for (j=1;j<=m;j++)
{
fin>>a[i][j];
b[i][j]=a[i][j];
sum+=a[i][j];
}
}
maxim=sum;
///Cazul 1 : linii si dupa coloane
s=sum;
for (i=1;i<=n;i++)
{
s1=s2=0;
for (j=1;j<=m;j++)
{
s1+=b[i][j];
s2-=b[i][j];
}
if (s2>s1)
{
s+=(s2-s1);
for (j=1;j<=m;j++) b[i][j]=-b[i][j];
}
}
for (j=1;j<=m;j++)
{
s1=s2=0;
for (i=1;i<=n;i++)
{
s1+=b[i][j];
s2-=b[i][j];
}
if (s2>s1) s+=s2-s1;
}
maxim=max(maxim,s);
///Cazul 2 : coloane si dupa linii
for (i=1;i<=n;i++)
{
for (j=1;j<=m;j++) b[i][j]=a[i][j];
}
///reiau matricea
s=sum;
for (j=1;j<=m;j++)
{
s1=s2=0;
for (i=1;i<=n;i++)
{
s1+=b[i][j];
s2-=b[i][j];
}
if (s2>s1)
{
s+=s2-s1;
for (i=1;i<=n;i++) b[i][j]=-b[i][j];
}
}
for (i=1;i<=n;i++)
{
s1=s2=0;
for (j=1;j<=m;j++)
{
s1+=b[i][j];
s2-=b[i][j];
}
if (s2>s1) s+=s2-s1;
}
maxim=max(maxim,s);
///
fout<<maxim;
}