Pagini recente » Cod sursa (job #2325851) | Cod sursa (job #1651443) | Monitorul de evaluare | Cod sursa (job #876263) | Cod sursa (job #2740324)
#include <cmath>
#include <fstream>
using namespace std;
int n, m;
int a[21][21];
int smax;
int semn[21];
void read() {
int i, j;
ifstream f("flip.in");
f >> n >> m;
for (i = 1; i <= n; i++)
for (j = 1; j <= m; j++)
f >> a[i][j];
f.close();
}
void verifica() {
int i, stotal = 0, s, j;
for (i = 1; i <= n; i++) {
s = 0;
for (j = 1; j <= m; j++)
s += a[i][j] * semn[j];
stotal += abs(s);
}
if (stotal > smax) {
smax = stotal;
}
}
void back(int k) {
if (k == m + 1)
verifica();
else {
int i;
for (i = 1; i <= 2; i++) {
if (i == 1)
semn[k] = 1;
else semn[k] = -1;
back(k + 1);
}
}
}
void solve() {
back(1);
}
void output() {
ofstream g("flip.out");
g << smax;
g.close();
}
int main() {
read();
solve();
output();
return 0;
}