Pagini recente » Cod sursa (job #734733) | Cod sursa (job #340178) | Cod sursa (job #245560) | Cod sursa (job #2296570) | Cod sursa (job #1210971)
#include <fstream>
#include<iostream>
using namespace std;
int c[17],l[17];
int main()
{
ifstream in;in.open("flip.in");
ofstream o;o.open ("flip.out", ofstream::out);
long M,N,f[17][17],i,j,k,linie,coloana;
in>>N;in>>M;k=0;linie=0;coloana=0;
for(i=0;i<N;i++)
{
for(j=0;j<M;j++)
{
in>>f[i][j];
c[j]=c[j]+f[i][j];
l[i]=l[i]+f[i][j];
k=k+f[i][j];
if(i==N-1 && c[j]<coloana)coloana=c[j];
}
if(i>0 && l[i]<linie)linie=l[i];
}
if(linie==0 && coloana==0)o<<k;
else
if(coloana < linie)
{
for(j=0;j<M;j++)
if(c[j]<0)
{
k=k-2*c[j];l[i]=0;
for(i=0;i<N;i++)
{
f[i][j]= -f[i][j];
l[i]=l[i]+f[i][j];
}
}
for(i=0;i<N;i++)
{if(l[i]<0)k=k-2*l[i];}
}
//frana
else
{
for(i=0;i<N;i++)
if(l[i]<0)
{
k=k-2*l[i];c[j]=0;
for(j=0;j<M;j++)
{f[i][j]= -f[i][j];
c[j]=c[j]+f[i][j];
}
}
else
{
c[j]=0;
for(j=0;j<M;j++)
c[j]=c[j]+f[i][j];
}
for(j=0;j<M;j++)
{if(c[j]<0)k=k-2*c[j];}
}
o<<k;
in.close();o.close();
return 0;
}