Pagini recente » Cod sursa (job #2255520) | Cod sursa (job #1578551) | Cod sursa (job #1570426) | Cod sursa (job #1164501) | Cod sursa (job #2468291)
#include <iostream>
#include <stdlib.h>
#include <fstream>
using namespace std;
int n,m;
int **a;
void read()
{
ifstream fin ("flip.in");
fin >> n >> m;
a=(int**)malloc(n*sizeof(int*));
for(int i=0;i<n;i++)
{
a[i]=(int*)malloc(sizeof(int)*m);
}
for(int i=0;i<n;i++)
{
for(int j=0;j<m;j++)
{
fin >> a[i][j];
}
}
fin.close();
}
void printa()
{
for(int i=0;i<n;i++)
{
for(int j=0;j<m;j++)
{
cout << a[i][j] << ' ';
}
cout << '\n';
}
}
void freea()
{
for(int i=0;i<n;i++)
{
free(a[i]);
}
free(a);
}
int lsum(int l)
{
int s=0;
for(int i=0;i<m;i++)
{
s+=a[l][i];
}
return s;
}
int csum(int c)
{
int s=0;
for(int i=0;i<n;i++)
{
s+=a[i][c];
}
return s;
}
void sl(int l)
{
for(int i=0;i<m;i++)
{
a[l][i]=-a[l][i];
}
}
void sc(int c)
{
for(int i=0;i<n;i++)
{
a[i][c]=-a[i][c];
}
}
void print(int s)
{
ofstream fout("flip.out");
fout << s << endl;
fout.close();
}
int solve()
{
for(int i=0;i<n;i++)
{
if(lsum(i)<0)
{
sl(i);
}
}
for(int i=0;i<m;i++)
{
if(csum(i)<0)
{
sc(i);
}
}
int s=0;
for(int i=0;i<n;i++)
{
for(int j=0;j<m;j++)
{
s+=a[i][j];
}
}
return s;
}
int main()
{
read();
int s=solve();
print(s);
//printa();
freea();
return 0;
}