Pagini recente » Cod sursa (job #1280333) | Cod sursa (job #3189395) | Cod sursa (job #1464015) | Cod sursa (job #1866877) | Cod sursa (job #1105435)
#include<iostream>
#include<fstream>
#define Nmax 17
using namespace std;
int N,M,A[Nmax][Nmax],X[Nmax];
int suma_maxima;
int suma() {
int s1 = 0;
for(int j = 1; j <= M; j++) {
int s = 0;
for(int i = 1; i <= N; i++) {
s+=A[i][j]*X[i];
}
if (s<0) {
s = -s;
}
s1 += s;
}
return s1;
}
void bk(int k) {
if (k == N+1) {
int s = suma();
if (s > suma_maxima) {
suma_maxima = s;
}
} else {
X[k] = -1;
bk(k+1);
X[k] = 1;
bk(k+1);
}
}
int main() {
ifstream f("flip.in");
ofstream g("flip.out");
f>>N;
f>>M;
for(int i = 1; i <= N; i++) {
for(int j = 1; j <= M; j++) {
f>>A[i][j];
}
}
bk(1);
g<<suma_maxima;
f.close();
g.close();
return 0;
}