Pagini recente » Cod sursa (job #964015) | Cod sursa (job #1052752) | Cod sursa (job #2675676) | Cod sursa (job #2333560) | Cod sursa (job #2192853)
#include <fstream>
using namespace std;
ifstream fin("flip.in");
ofstream fout("flip.out");
#define dmax 25
int mat[dmax][dmax];
int slin[dmax],scol[dmax]; /// VECTORI IN CARE RETIN SUMA DE PE FIECARE LINIE, COLOANA
int s_m(int n, int m, int mat[][dmax]) ///SUMA MATRICE
{
long long 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;
}
void suma_col(int n,int m, int mat[][dmax], int scol[]) ///vectorii nu se mai dau prin referinta
{
int i,j;
for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
{
scol[j]=scol[j]+mat[i][j];
fout<<"scol["<<j<<"]="<<scol[j]<<" ";
}
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;
/*fout<<endl<<endl;
fout<<"PROBA:"<<endl;
suma_col(n,m,mat,scol); fout<<endl;
fout<<" suma pe coloane="<<endl;
for(i=0;i<m;i++) fout<<scol[i]<<" ";
fout<<endl<<endl;*/
long long S=0, Smax=0; ///sau s_m(n,m,mat) dar il prinde mai bine asa cu 0 !
/*///////////////////////////////////////////*/ //afis_mat(n,m,mat); //fout<<"NESCHIMBATE:"<<s_m(n,m,mat)<<endl<<endl;
for(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); fout<<"schimbate de linii:"<<s_m(n,m,mat)<<endl<<endl;
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<<"schimbate de coloane:"<<s_m(n,m,mat)<<endl<<endl;
fout<<Smax;
return 0;
}