Pagini recente » Cod sursa (job #2469321) | Statistici Cristina-Iulia Ciulei (cristinaiulia) | Cod sursa (job #2776271) | Cod sursa (job #1828151)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("flip.in");
ofstream fout("flip.out");
long long tab[10][10],N,M;
void citTab() // Citire matrice
{
fin>>N;
fin>>M;
for(int i=0;i<N;i++)
for(int j=0;j<M;j++)
fin>>tab[i][j];
}
void cl(int l) // Comuta O linie daca e cazul
{
long long s1=0,s2=0;
for(int i=0;i<M;i++)
{
s1=s1+tab[l][i];
s2=s2+tab[l][i]*(-1);
}
if(s2>s1)
for(int i=0;i<M;i++)
tab[l][i]=(-1)*tab[l][i];
}
void cc (int c) // Comuta o coloana daca e cazul
{
long long s1=0,s2=0;
for(int i=0;i<N;i++)
{
s1=s1+tab[i][c];
s2=s2+tab[i][c]*(-1);
}
if(s2>s1)
for(int i=0;i<N;i++)
tab[i][c]=tab[i][c]*(-1);
}
void parcTab() // aplica cele 2 functii de comutare
{
for(int i=0;i<N;i++)
cc(i);
for(int i=0;i<M;i++)
cl(i);
}
int sumaTab() // calculeaza suma elementelor
{
long long s=0;
for(int i=0;i<N;i++)
for(int j=0;j<M;j++)
s=s+tab[i][j];
return s;
}
int main()
{
citTab();
parcTab();
fout<<sumaTab();
return 0;
}