Caso # | Resultado | Tiempo | Memoria |
---|---|---|---|
#1 |
Incorrecto
|
0.182 s | 12 KBi |
#2 |
Incorrecto
|
0.145 s | 15 KBi |
#3 |
Incorrecto
|
0.182 s | 12 KBi |
#4 |
Incorrecto
|
0.141 s | 16 KBi |
#5 |
Incorrecto
|
0.139 s | 15 KBi |
#6 |
Incorrecto
|
0.182 s | 12 KBi |
#7 |
Incorrecto
|
0.155 s | 15 KBi |
#8 |
Incorrecto
|
0.18 s | 12 KBi |
#9 |
Incorrecto
|
0.152 s | 16 KBi |
#10 |
Incorrecto
|
0.148 s | 16 KBi |
#11 |
Incorrecto
|
0.152 s | 15 KBi |
#12 |
Incorrecto
|
0.14 s | 24 KBi |
#13 |
Incorrecto
|
0.139 s | 16 KBi |
#14 |
Incorrecto
|
0.152 s | 16 KBi |
#15 |
Incorrecto
|
0.155 s | 16 KBi |
#16 |
Incorrecto
|
0.284 s | 20 KBi |
#17 |
Error en tiempo de ejecución (NZEC)
Exited with error status 1 Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: Index 100 out of bounds for length 100 at Main.esCuadradoMagico(Main.java:92) at Main.main(Main.java:32) |
0.216 s | 17 KBi |
#18 |
Incorrecto
|
0.214 s | 18 KBi |
#19 |
Incorrecto
|
0.248 s | 18 KBi |
#20 |
Incorrecto
|
0.249 s | 19 KBi |
import java.util.Scanner; public class Main { public static Scanner leer = new Scanner(System.in); public static void main(String[] args) { //input dimensiones String dimensiones = leer.nextLine().trim(); int filas = Integer.parseInt(dimensiones); int columnas = filas; int[][] ejemplo1 = new int[filas][columnas]; //input de datos for (int i = 0; i < filas; i++) { String[] filaDada = leer.nextLine().trim().split(" "); int k = 0; for (int j = 0; j < columnas; j++) { ejemplo1[i][j] = Integer.parseInt(filaDada[k]); k++; //System.out.println(ejemplo1[i][j]); } } //int toret = valorSubmatrizMaxima(ejemplo1, filas, columnas); boolean toret= esCuadradoMagico(ejemplo1,filas); if (toret) { System.out.println("yes"); }else{ System.out.println("no"); } } public static boolean esCuadradoMagico(int[][] matriz, int filas) { boolean continuar=true; int valorGeneral=0; int count=0; int valorLocal=0; int i=0; //sumar filas while(continuar && i<filas){ for (int j = 0; j < filas; j++) { valorLocal+=matriz[i][j]; } if(i==0){ valorLocal=valorGeneral; } if(valorLocal==valorGeneral){ valorLocal=0; i++; }else{ continuar=false; } } //sumar columnas while(continuar && i<filas){ for (int j = 0; j < filas; j++) { valorLocal+=matriz[j][i]; } if(valorLocal==valorGeneral){ valorLocal=0; i++; }else{ continuar=false; } } //sumar diagonal if (continuar) { //diagonal principal for (int j = 0; j < filas; j++) { valorLocal+=matriz[j][j]; } if(valorLocal==valorGeneral){ //contradiagonal for (int j = 0; j < filas; j++) { valorLocal+=matriz[j][matriz.length-j]; } if(valorLocal!=valorGeneral){ continuar=false; } }else{ continuar=false; } } return continuar; } }