Pagini recente » Cod sursa (job #1215445) | Cod sursa (job #1771335) | Cod sursa (job #943917) | Monitorul de evaluare | Cod sursa (job #532843)
Cod sursa(job #532843)
#include<iostream>
#include<fstream>
using namespace std;
int a[100][100] ,n,m;
int suma_totala()
{ int st=0;
for (int i=0;i<n;i++)
for(int j=0;j<m;j++)
st=st+a[i][j];
return st;
}
int suma_coloana (int c)
{ int sc=0;
for(int i=0;i<n;i++)
sc=sc+a[i][c];
return sc;
}
int suma_linie (int l)
{
int sl=0;
for(int j=0;j<m;j++)
sl=sl+a[l][j];
return sl;
}
int flip_linie (int l)
{ for(int j=0;j<m;j++)
a[l][j]=a[l][j]*(-1);}
int flip_coloana (int c)
{ for(int i=0;i<n;i++)
a[i][c]=a[i][c]*(-1);}
int main()
{
fstream f("flip.in",ios::in);
fstream g("flip.out",ios::out);
for (int i=0;i<n;i++)
for(int j=0;j<m;j++)
{f>>a[i][j];}
int sumt=suma_totala();
int i=0,j=0,sumc,suml;
while(i<n && j<m)
{sumc=suma_coloana(j);
if(sumc<=0)flip_coloana(j);
if(suma_totala()>sumt) sumt=suma_totala();
else if(suma_totala()<sumt)flip_coloana(j);
suml=suma_linie(i);
if(suml<=0) flip_linie(i);
if(suma_totala()>sumt)sumt=suma_totala();
else if(suma_totala()<sumt)flip_linie(i);
i++;j++;}
g<<sumt;
}