Pagini recente » Cod sursa (job #3288468) | Diferente pentru implica-te/arhiva-educationala intre reviziile 16 si 223 | Cod sursa (job #382066) | Cod sursa (job #2684930) | Cod sursa (job #3293604)
#include <fstream>
using namespace std;
int n, m, mat[20][20], ans = 0;
int scor() {
int sum = 0;
for (int j = 0; j < m; ++j) {
int s = 0;
for (int i = 0; i < n; ++i) {
s += mat[i][j];
}
sum += abs(s);
}
return sum;
}
void flipLinie(int linie) {
for (int j = 0; j < m; ++j) {
mat[linie][j] = -mat[linie][j];
}
}
void solve() {
for (int i = 0; i < (1 << n); ++i) {
for (int j = 0; j < n; ++j) {
if (i & (1 << j)) {
flipLinie(j);
}
}
ans = max(ans, scor());
}
}
int main() {
ifstream fin("flip.in");
ofstream fout("flip.out");
fin >> n >> m;
for (int i = 0; i < n; ++i) {
for (int j = 0; j < m; ++j) {
fin >> mat[i][j];
}
}
solve();
fout << ans;
return 0;
}