Pagini recente » Monitorul de evaluare | Istoria paginii utilizator/lady | Profil DraStiK | Cod sursa (job #3282456) | Cod sursa (job #2076592)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("flip.in");
ofstream fout("flip.out");
int a[20][20],n,m,i,j;
int flippedSumLin(int a[20][20],int z,int x)
{
int S=0;
for(i=1;i<=z;i++)
S=S+(a[x][i]*(-1));
return S;
}
int flippedSumCol(int a[20][20],int z,int x)
{
int S=0;
for(i=1;i<=z;i++)
S=S+(a[i][x]*(-1));
return S;
}
int normalSumLin(int a[20][20],int z,int x)
{
int S=0;
for(i=1;i<=z;i++)
S=S+a[x][i];
return S;
}
int normalSumCol(int a[20][20],int z,int x)
{
int S=0;
for(i=1;i<=z;i++)
S=S+a[i][x];
return S;
}
void flipCol(int a[20][20],int z,int x)
{
for(i=1;i<=z;i++)
a[i][x]*=-1;
}
void flipLin(int a[20][20],int z,int x)
{
for(i=1;i<=z;i++)
a[x][i]*=-1;
}
int main()
{
int S=0;
fin>>n>>m;
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
fin>>a[i][j];
for(i=1;i<=n;i++)
if(flippedSumCol(a,n,i)>normalSumCol(a,n,i))flipCol(a,n,i);
for(i=1;i<=m;i++)
if(flippedSumLin(a,m,i)>normalSumLin(a,m,i))flipLin(a,m,i);
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
S=S+a[i][j];
fout<<S;
}