Pagini recente » Cod sursa (job #2268942) | Cod sursa (job #1732552) | Cod sursa (job #2764320) | Cod sursa (job #2235893) | Cod sursa (job #2725331)
#include <iostream>
#include <fstream>
using namespace std;
unsigned int N, M;
int tabla[16][16];
ofstream out("flip.out");
void citire()
{
ifstream in("flip.in");
in>>N>>M;
for (unsigned int i = 0; i < N; i++)
{
for (unsigned int j = 0; j < M; j++)
{
in>>tabla[i][j];
}
}
}
int suma_linie(int linie, int sens)
{
int suma = 0;
for(unsigned int i = 0 ; i < M ; ++i)
suma+=tabla[linie][i] * sens;
return suma;
}
int suma_coloana(int coloana, int sens)
{
int suma = 0;
for(unsigned int i = 0 ; i < N ; ++i)
suma+=tabla[i][coloana] * sens;
return suma;
}
void minus_linie(int linie)
{
for (unsigned int i = 0; i < M; i++)
{
tabla[linie][i] *= -1;
}
}
void minus_coloana(int coloana)
{
for (unsigned int i = 0; i < N; i++)
{
tabla[i][coloana] *= -1;
}
}
void sensul()
{
for (unsigned int i = 0; i < M; i++)
{
if(suma_coloana(i,1) < suma_coloana(i,-1))
{
minus_coloana(i);
}
}
for (unsigned int i = 0; i < N; i++)
{
if(suma_linie(i,1) < suma_linie(i,-1))
{
minus_linie(i);
}
}
}
int suma_finala()
{
int suma = 0;
for (unsigned int i = 0; i < N; i++)
{
for (unsigned int j = 0; j < M; j++)
{
suma = suma + tabla[i][j];
}
}
return suma;
}
int main()
{
citire();
sensul();
out<<suma_finala();
return 0;
}