Pagini recente » Cod sursa (job #1432595) | Cod sursa (job #1431944) | Cod sursa (job #2682530) | Cod sursa (job #62858) | Cod sursa (job #1430177)
//package flip;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Scanner;
public class Main {
int n, m, sumaMax = -1;
int[][] matrix = new int[16][16];
int[] sign = new int[16];
void computeSum () {
int i, j, s, sum = 0;
for (i = 0; i < m; i ++) {
s = 0;
for (j = 0; j < n; j++) {
s += matrix[j][i] * sign[j];
}
sum += Math.abs(s);
}
sumaMax = Math.max(sum, sumaMax);
}
void backtracking (int line) {
if (line == n) {
computeSum();
} else {
sign[line] = -1;
backtracking (line + 1);
sign[line] = 1;
backtracking (line + 1);
}
}
public static void main (String[] args) throws IOException {
Scanner scanner = new Scanner (new FileInputStream("flip.in"));
PrintWriter writer = new PrintWriter ("flip.out");
Main obj = new Main();
obj.n = scanner.nextInt();
obj.m = scanner.nextInt();
int i, j;
for (i = 0; i < obj.n; i ++) {
for (j = 0; j < obj.m; j ++) {
obj.matrix[i][j] = scanner.nextInt();
}
}
obj.backtracking(0);
writer.write(String.valueOf(obj.sumaMax));
scanner.close();
writer.close();
}
}