Pagini recente » Cod sursa (job #942357) | Cod sursa (job #1186706) | Cod sursa (job #1789020) | Cod sursa (job #1878187) | Cod sursa (job #2192151)
#include <fstream>
using namespace std;
ifstream fin("flip.in");
ofstream fout("flip.out");
#define dmax 17
int mat[dmax][dmax];
int slin[dmax],scol[dmax];
int s_m(int n, int m, int mat[][dmax])
{
int S=0;
for(int i=0;i<n;i++)
for(int j=0;j<m;j++)
S=S+mat[i][j];
return S;
}
void afis_mat(int n, int m, int mat[][dmax])
{
int i,j;
for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
{
fout<<mat[i][j]<<" ";
}
fout<<endl;
}
fout<<endl;
}
void afis_v(int vec[], int dv)
{
int i;
for(i=0;i<dv;i++)
fout<<vec[i]<<" ";
fout<<endl;
}
int main()
{
int n,m,i,j;
fin>>n>>m;
for(i=0;i<n;i++)
for(j=0;j<m;j++)
{
fin>>mat[i][j];
scol[j]=scol[j]+mat[i][j];
slin[i]=slin[i]+mat[i][j];
}
/*fout<<"slin= "; afis_v(slin,n);
fout<<"scol= "; afis_v(scol,m);
fout<<endl;*/
int S=0, Smax=0;
//afis_mat(n,m,mat);
for(int i=0;i<n;i++)
if(slin[i]<0)
{
int k=i;
for(j=0;j<m;j++)
mat[k][j]=mat[k][j]*(-1);
}
S=s_m(n,m,mat);
if(S>Smax) Smax=S;
//afis_mat(n,m,mat);
for(int j=0;j<m;j++)
if(scol[j]<0)
{
int k=j;
for(int i=0;i<n;i++)
mat[i][k]=mat[i][k]*(-1);
}
S=s_m(n,m,mat);
if(S>Smax) Smax=S;
//afis_mat(n,m,mat);
fout<<Smax;
return 0;
}