Pagini recente » Monitorul de evaluare | Cod sursa (job #415509)
Cod sursa(job #415509)
#include<fstream>
using namespace std;
long a[20][20],b[20][20],s;
int n,m,i,j;
void schimblin(int i)
{
int s1=0,s2=0;
for(j=1;j<=m;j++)
if(a[i][j]>=0)
s1+=a[i][j];
else
s2+=abs(a[i][j]);
if(s1<s2)
for(j=1;j<=m;j++)
if(b[i][j]==0)
{
a[i][j]=-a[i][j];
b[i][j]=1;
}
}
void schimbcol(int j)
{
int s1=0,s2=0;
for(i=1;i<=n;i++)
if(a[i][j]>=0)
s1+=a[i][j];
else
s2+=abs(a[i][j]);
if(s1<s2)
for(i=1;i<=n;i++)
if(b[i][j]==0)
{
a[i][j]=-a[i][j];
b[i][j]=1;
}
}
int main()
{
ifstream f("flip.in");
ofstream g("flip.out");
f>>n>>m;
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
f>>a[i][j];
f.close();
for(i=1;i<=n;i++)
schimblin(i);
for(j=1;j<=m;j++)
schimbcol(j);
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
s+=a[i][j];
g<<s;
return 0;
}