Pagini recente » Cod sursa (job #2430591) | Istoria paginii utilizator/carolina.porcescu | Istoria paginii runda/aaaa | Cod sursa (job #978589) | Cod sursa (job #1828156)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("flip.in");
ofstream fout("flip.out");
long long tab[10][10];
int 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);
}
int sumaTab() // calculeaza suma elementelor
{
for(int i=0;i<N;i++)
cc(i);
long long s=0;
for(int i=0;i<N;i++)
{
cl(i);
for(int j=0;j<M;j++)
s=s+tab[i][j];
}
return s;
}
int main()
{
citTab();
fout<<sumaTab();
return 0;
}