Pagini recente » Cod sursa (job #1737872) | Cod sursa (job #665800) | Cod sursa (job #1645079) | Cod sursa (job #1922110) | Cod sursa (job #1826918)
#include <iostream>
#include <fstream>
using namespace std;
ifstream in("flip.in");
ofstream out("flip.out");
int coloana[17],linie[17],tabla[17][17];
int n,m,x;
bool line(int l)
{
int s=0;
for(int i=1;i<=m;i++)
{
s+=tabla[l][i];
}
if(s>0)
return false;
return true;
}
bool col(int c)
{
int s=0;
for(int i=1;i<=m;i++)
{
s+=tabla[i][c];
}
if(s>0)
return false;
return true;
}
void reverseline(int l)
{
for(int i=1;i<=m;i++)
tabla[l][i]*=(-1);
}
void reversecol(int c)
{
for(int i=1;i<=n;i++)
tabla[i][c]*=(-1);
}
int main()
{
in>>n>>m;
int s=0;
for(int i=1;i<=n;i++)
{
for(int j=1;j<=m;j++)
{
in>>x;
tabla[i][j]=x;
coloana[j]+=x;
linie[i]+=x;
}
}
bool ok=true;
//while(ok)
{
ok=false;
for(int i=1;i<=n;i++)
if(line(i))
{
ok=true;
reverseline(i);
}
for(int j=1;j<=m;j++)
if(col(j))
{
ok=true;
reversecol(j);
}
}
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++)
s+=tabla[i][j];
out<<s;
}