// true // true // (2,3) // false // (1,3) // false public class EnigmaDos { // Suponemos que la matriz es cuadrada private static boolean enigma(int[][] matriz, int i) { if ( i >= matriz.length ) return true; for (int j = i + 1; j < matriz.length; j++) if ( matriz[i][j] != matriz[j][i] ) { System.out.println("(" + i + "," + j + ")"); return false; } return enigma(matriz, i + 1); } public static boolean enigma(int[][] matriz) { return enigma(matriz, 0); } public static void main(String[] args) { int[][] m = new int[5][5]; for (int i = 0; i < 5; i++) for (int j = 0; j < 5; j++) m[i][j] = i + j; System.out.println(enigma(m)); m[3][3] = 0; System.out.println(enigma(m)); m[3][2] = 0; System.out.println(enigma(m)); m[3][1] = 0; System.out.println(enigma(m)); } }