Pagini recente » Cod sursa (job #2084831) | Cod sursa (job #1329343) | Cod sursa (job #1023678) | Cod sursa (job #853539) | Cod sursa (job #2494226)
#include <fstream>
using namespace std;
ifstream f("flip.in");
ofstream g("flip.out");
int n, m, tabla[21][21];
bool sum_lin[21], sum_col[21];
void citire()
{
f >> n >> m;
for(int i = 1; i <= n; i++)
for(int j = 1; j <= m; j++)
f >> tabla[i][j];
}
int sumaLinie(int i)
{
int sum = 0;
for(int j = 1; j <= m; j++)
sum += tabla[i][j];
return sum;
}
int sumaColoana(int j)
{
int sum = 0;
for(int i = 1; i <= n; i++)
sum += tabla[i][j];
return sum;
}
int sumaLinieCom(int i)
{
int sum;
for(int j = 1; j <= m; j++)
sum += -tabla[i][j];
return sum;
}
int sumaColoanaCom(int j)
{
int sum = 0;
for(int i = 1; i <= n; i++)
sum += -tabla[i][j];
return sum;
}
void comutLinie(int i)
{
for(int j = 1; j <= m; j++)
tabla[i][j] = -tabla[i][j];
}
void comutColoana(int j)
{
for(int i = 1; i <= n; i++)
tabla[i][j] = -tabla[i][j];
}
void suma()
{
int sum = 0;
for(int i = 1; i <= n; i++)
for(int j = 1; j <= m; j++)
sum += tabla[i][j];
g << sum;
}
void flippy()
{
for(int i = 1; i <= n; i++)
if(sumaLinie(i) > sumaLinieCom(i)) sum_lin[i] = 1;
else sum_lin[i] = 0;
for(int j = 1; j <= m; j++)
if(sumaColoana(j) > sumaColoanaCom(j)) sum_col[j] = 1;
else sum_col[j] = 0;
for(int i = 1; i <= n; i++)
if(!sum_lin[i]) comutLinie(i);
for(int j = 1; j <= m; j++)
if(!sum_col[j]) comutColoana(j);
}
int main()
{
citire();
flippy();
suma();
return 0;
}