Pagini recente » Cod sursa (job #695695) | Cod sursa (job #678516) | Cod sursa (job #2708135) | Cod sursa (job #1712587) | Cod sursa (job #1564200)
#include<iostream>
#include<fstream>
using namespace std;
fstream f("flip.in", ios::in);
fstream g("flip.out", ios::out);
int n, m, a[17][17], l[17], c[17];
int main()
{
int i, j, k, min;
f >> n;
f >> m;
for (i = 1; i <= n; i++)
for (j = 1; j <= m; j++)
{
f >> a[i][j];
l[i] += a[i][j];
c[j] += a[i][j];
}
do {
min = 0;
k = 0;
for (i = 1; i <= n; i++)
if (l[i] < min) {
min = l[i];
k = i;
}
for (j = 1; j <= m; j++)
if (c[j] < min) {
min = c[j];
k = 0-j;
}
if (min < 0)
if (k>0) {
l[k] = 0 - l[k];
for (j = 1; j <= m; j++) {
c[j] = c[j] - a[k][j] - a[k][j];
a[k][j] = 0 - a[k][j];
}
}
else if (k < 0) {
k = 0 - k;
c[k] = 0 - c[k];
for (i = 1; i <= n; i++) {
l[i] = l[i] - a[i][k] - a[i][k];
a[i][k] = 0 - a[i][k];
}
}
} while (min < 0);
min = 0;
for (i = 1; i <= n; i++)
min += l[i];
g << min;
f.close();
g.close();
return 0;
}