█████████ ████ ███░░░░░███ ░░███ ███ ░░░ ██████ ███████ ██████ ██████ ░███ ███░░███ ███░░███ ███░░███ ███░░███ ░███ ░███ ░███░███ ░███ ░███████ ░███ ░███ ░░███ ███░███ ░███░███ ░███ ░███░░░ ░███ ░███ ░░█████████ ░░██████ ░░████████░░██████ ░░██████ ░░░░░░░░░ ░░░░░░ ░░░░░░░░ ░░░░░░ ░░░░░░

Envío 7143

Problema 0xe1 - Cuadrado mágico

  • Autor: dperezne
  • Fecha: 2023-09-20 23:07:12 UTC (Hace 8 meses)
Caso # Resultado Tiempo Memoria
#1
Correcto
0.102 s 13 KBi
#2
Correcto
0.092 s 13 KBi
#3
Correcto
0.101 s 13 KBi
#4
Correcto
0.099 s 13 KBi
#5
Correcto
0.099 s 13 KBi
#6
Correcto
0.09 s 13 KBi
#7
Correcto
0.098 s 13 KBi
#8
Correcto
0.091 s 13 KBi
#9
Correcto
0.102 s 13 KBi
#10
Incorrecto
0.102 s 13 KBi
#11
Correcto
0.099 s 13 KBi
#12
Correcto
0.095 s 13 KBi
#13
Correcto
0.097 s 13 KBi
#14
Correcto
0.107 s 13 KBi
#15
Correcto
0.104 s 13 KBi
#16
Correcto
0.204 s 23 KBi
#17
Correcto
0.222 s 23 KBi
#18
Correcto
0.219 s 25 KBi
#19
Correcto
0.203 s 23 KBi
#20
Correcto
0.239 s 25 KBi
Puntos totales: 95 / 100

Código

import java.util.Scanner;

public class Main{

    public static boolean esCuadradoMagico(int[][] matriz) {
        int n = matriz.length;
        int sumaFila = 0;
        int sumaDiagonal1 = 0;
        int sumaDiagonal2 = 0;

        // Calcula la suma de la primera fila (usada como referencia)
        for (int j = 0; j < n; j++) {
            sumaFila += matriz[0][j];
        }

        // Calcula la suma de las diagonales
        for (int i = 0; i < n; i++) {
            sumaDiagonal1 += matriz[i][i];
            sumaDiagonal2 += matriz[i][n - i - 1];
        }

        // Compara la suma de todas las filas y diagonales con la suma de referencia
        return sumaDiagonal1 == sumaDiagonal2 && sumaDiagonal1 == sumaFila;
    }

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        // Leer el tamaño de la matriz
        int n = scanner.nextInt();

        // Leer la matriz
        int[][] matriz = new int[n][n];
        for (int i = 0; i < n; i++) {
            for (int j = 0; j < n; j++) {
                matriz[i][j] = scanner.nextInt();
            }
        }

        // Verificar si es un cuadrado mágico
        boolean esMagico = esCuadradoMagico(matriz);

        // Imprimir el resultado
        System.out.println(esMagico ? "Yes" : "No");
    }
}