Pagini recente » Cod sursa (job #2852232) | Cod sursa (job #657528) | Cod sursa (job #2458091) | Cod sursa (job #3218664) | Cod sursa (job #1731557)
import java.io.*;
import java.util.*;
public class Main {
public static void main(String[] args) {
try{
Scanner scanner = new Scanner(new File("flip.in"));
int [][] matrix = new int[20][20];
int [][] workMatrix = new int [20][20];
int n, m,i,j;
n = scanner.nextInt();
m = scanner.nextInt();
System.out.println(n + " " + m);
for (i = 0 ; i < n; i++)
for (j = 0 ; j < m; j++)
matrix[i][j] = scanner.nextInt();
//for (i = 0; i < n; i++) {
// for (j = 0; j < m; j++)
// System.out.print(matrix[i][j] + " ");
// System.out.println();
//}
if(m > n) {
int aux;
for(i = 0; i < m; i++)
for (j = i + 1; j < m ; j++){
aux = matrix[i][j];
matrix[i][j]=matrix[j][i];
matrix[j][i] = aux;
}
aux = n;
n = m;
m = aux;
}
//for (i = 0; i < n; i++) {
// for (j = 0; j < m; j++)
// System.out.print(matrix[i][j] + " ");
// System.out.println();
//}
int flag = (1 << m) -1;
int graterSum = 0;
int max = 0;
while (flag >= 0) {
for ( i = 0; i< m; i++){
int toMultiply = (flag & (1<<(m-i-1))) > 0 ? -1 : 1;
//System.out.print(toMultiply+ " ");
for ( j = 0 ; j < n; j++ ){
workMatrix[j][i] = matrix[j][i] * toMultiply;
}
}
//System.out.println();
graterSum = 0;
for (i = 0; i < n; i++) {
int sum = 0;
for (j = 0; j < m; j++){
//System.out.print(workMatrix[i][j] + " ");
sum += workMatrix[i][j];
}
graterSum += (sum > 0 ? sum : -sum);
//System.out.println(graterSum + "\n");
}
//System.out.println();
flag -- ;
if (graterSum > max)
max = graterSum;
}
File fout = new File("flip.out");
FileWriter out = new FileWriter(fout);
out.write(String.valueOf(max));
System.out.print(max);
out.close();
scanner.close();
} catch( Exception e) {
}
}
}