Pagini recente » Cod sursa (job #471248) | Cod sursa (job #1733455) | Cod sursa (job #3351627) | Cod sursa (job #366405) | Cod sursa (job #1733064)
#include <iostream>
#include <fstream>
using namespace std;
ifstream in("flip.in");
ofstream out("flip.out");
int n,m,mat[18][18];
void afis()
{
for(int i=1;i<=n;++i)
{
for(int j=1;j<=m;++j)
out<<mat[i][j]<<" ";
out<<"\n";
}
out<<"\n";
}
int main()
{
//citiri
in>>n>>m;
for(int i=1;i<=n;++i)
for(int j=1;j<=m;++j)
in>>mat[i][j];
///afis();
//brute force
int ok,sP,sN,i,j;
do{
ok=0;
for(int i=1;i<=n;++i)
{
sP=0,sN=0;
for(int j=1;j<=m;++j)
{
if(mat[i][j])
sP+=mat[i][j];
else
sN+=mat[i][j]*(-1);
}
if(sN>sP)
{
ok=1;
for(int j=1;j<=m;++j)
mat[i][j]*=-1;
}
}
for(int j=1;j<=m;++j)
{
sP=0,sN=0;
for(int i=1;i<=n;++i)
{
if(mat[i][j])
sP+=mat[i][j];
else
sN+=mat[i][j]*(-1);
}
if(sN>sP)
{
ok=1;
for(int i=1;i<=n;++i)
mat[i][j]*=-1;
}
}
}while(ok==1);
///afis();
//calculeaza suma
int s=0;
for(int i=1;i<=n;++i)
for(int j=1;j<=m;++j)
s+=mat[i][j];
out<<s<<"\n";
return 0;
}