Pagini recente » Cod sursa (job #2762435) | Cod sursa (job #252634) | Cod sursa (job #1744462) | Cod sursa (job #1774499) | Cod sursa (job #2535634)
#include <fstream>
using namespace std;
ifstream fin("flip.in");
ofstream fout("flip.out");
int n, m, a[17][17];
void flip(int x, int y) {
if(x)
for(int i = 1; i <= m; ++i)
a[x][i] *= -1;
if(y)
for(int i = 1; i <= n; ++i)
a[i][y] *= -1;
}
int sum() {
int s = 0;
for(int i = 1; i <= n; ++i)
for(int j = 1; j <= n; ++j)
s += a[i][j];
return s;
}
int abs(int n) {
if(n < 0)
return -n;
return n;
}
int main() {
fin >> n >> m;
for(int i = 1; i <= n; ++i)
for(int j = 1; j <= m; ++j)
fin >> a[i][j];
int lastSum = sum(), currentSum = lastSum;
do {
for(int i = 1; i <= n; ++i) {
int s = 0;
for(int j = 1; j <= m; ++j)
s += a[i][j];
if(-s > s)
for(int j = 1; j <= m; ++j)
a[i][j] *= -1;
}
for(int j = 1; j <= m; ++j) {
int s = 0;
for(int i = 1; i <= n; ++i)
s += a[i][j];
if(-s > s)
for(int i = 1; i <= n; ++i)
a[i][j] *= -1;
}
lastSum = currentSum;
currentSum = sum();
} while(abs(lastSum - currentSum) != 0);
fout << currentSum;
}