Pagini recente » Borderou de evaluare (job #2036698) | Cod sursa (job #893421) | Cod sursa (job #1180779) | Cod sursa (job #1151860) | Cod sursa (job #2764103)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("flip.in");
ofstream fout("flip.out");
int t[100][100] , n , m;
bool change()
{
bool changed = false;
int row_sum = 0 , column_sum = 0;
for(int i=0;i<n;i++)
{
for(int j=0;j<m;j++)
{
row_sum+= t[i][j];
}
if (row_sum < 0) {
for(int j=0;j<m;j++)
t[i][j] *= -1;
changed = true;
}
row_sum = 0;
}
for(int j=0;j<m;j++)
{
for(int i=0;i<n;i++)
{
column_sum+= t[i][j];
}
if (column_sum < 0) {
for(int i=0;i<n;i++)
t[i][j] *= -1;
changed = true;
}
column_sum = 0;
}
return changed;
}
int main()
{
fin>>n>>m;
for(int i=0;i<n;i++)
for(int j=0;j<m;j++)
fin>>t[i][j];
while(change()) {
change();
}
int sum =0;
for(int i=0;i<n;i++)
{
for(int j=0;j<m;j++)
{
sum+= t[i][j];
}
}
fout<<sum;
}