Pagini recente » Cod sursa (job #221462) | Cod sursa (job #1051617) | Cod sursa (job #2202440) | Cod sursa (job #340853) | Cod sursa (job #1470288)
#include <fstream>
#include <algorithm>
using namespace std;
int lin[20], col[20], m[20][20], suma_max = 0, N, M;
void suma () {
int max1 = 0, s1, s2;
for(int i = 1; i <= M; i++) {
s1 = s2 = 0;
for(int j = 1; j <= N; j++)
if(lin[j] == 0) {
s1 += m[j][i];
s2 -= m[j][i];
}
else {
s1 -= m[j][i];
s2 += m[j][i];
}
if(s1 > s2)
max1 += s1;
else
max1 += s2;
}
if(max1 > suma_max)
suma_max = max1;
}
int main(void) {
ifstream input ("flip.in");
ofstream output ("flip.out");
input >> N >> M;
for (int i = 1; i <= N; i++)
for (int j = 1; j <= M; j++)
input >> m[i][j];
for (int i = 0; i <= N; i++) {
lin[i] = 1;
do {
suma();
}while (next_permutation(lin+1,lin+N+1));
}
output << suma_max;
}