Pagini recente » Cod sursa (job #1444451) | Cod sursa (job #2953934) | Cod sursa (job #2073277) | Cod sursa (job #906313) | Cod sursa (job #1818146)
#include <fstream>
#define DEF 100000
#define NEG -1
using namespace std;
ifstream fin ("flip.in");
ofstream fout ("flip.out");
int n, m, v[100][100], Sol;
bool freq[100];
void backTrack (int k){
if (k <= n){
for (int i = 0; i <= 1; i++){
freq[k] = i;
backTrack (k + 1);
}
}
else{
int sum = 0, currSum = 0;
for (int j = 1; j <= m; j++){
currSum = 0;
for (int i = 1; i <= n; i++){
if (freq[i]){
currSum += v[i][j];
}
else{
currSum += v[i][j] * NEG;
}
}
if (currSum < 0){
currSum *= NEG;
}
sum += currSum;
}
Sol = max (Sol, sum);
}
}
int main(){
fin >> n >> m;
for (int i = 1; i <= n; i++){
for (int j = 1; j <= m; j++){
fin >> v[i][j];
}
}
backTrack(1);
fout << Sol;
return 0;
}