Définition
Une matrice en pointe de flèche est une matrice dont toutes les entrées sont égales à 0 , à l'exception de celles de la diagonale principale, de la rangée du haut et de la colonne la plus à gauche. En d'autres termes, la matrice devrait ressembler à ceci:
* * * * * * * * 0 0 0 0 * 0 * 0 0 0 * 0 0 * 0 0 * 0 0 0 * 0 * 0 0 0 0 *
Où chaque * est une entrée non nulle.
Tâche
Étant donné une matrice carrée d’entiers non négatifs, vérifiez si elle correspond à une flèche conformément à la définition ci-dessus.
Vous ne pouvez pas prendre la taille de la matrice en tant qu'entrée, sauf si l'équivalent linguistique d'un tableau ressemble à un pointeur et à une longueur (comme C). Ce sera toujours au moins 3 x 3.
Le code le plus court en octets dans chaque langue gagne.
Entrée et sortie
Vous pouvez choisir l’un des formats suivants pour recevoir des entrées:
- Une matrice dans le type de matrice natif (si votre langue en a une)
- Un tableau 2D 1 (un tableau de tableaux 1D, chacun correspondant à une ligne)
- Un tableau 1D (puisque la matrice est toujours carrée)
- Une chaîne (vous avez choisi l'espacement, mais s'il vous plaît, n'abusez pas de cette manière).
Lorsqu'il s'agit de fournir une sortie, vous pouvez signaler une valeur de vérité / fausseté conformément à la définition standard du problème de décision ou choisir deux valeurs distinctes et cohérentes.
De plus, vous pouvez entrer et donner des sorties à l'aide de n'importe quelle méthode standard , dans n'importe quel langage de programmation , tout en prenant note que ces failles sont interdites par défaut. Si vous voulez choisir un autre format ou si vous n'êtes pas sûr de quelque chose, veuillez le demander dans les commentaires.
1: ou l'équivalent de votre langue (liste, vecteur, etc.)
Exemples
Regardons les exemples suivants:
1 2 2 2 2 1 0 0 3 0 1 0 4 0 0 1
Il s'agit d'une matrice en pointe de flèche (vos programmes doivent indiquer une valeur de vérité), car les éléments de la diagonale principale sont 1 1 1 1
, ceux de la ligne supérieure sont 1 2 2 2
et ceux de la colonne la plus à gauche 1 2 3 4
. Toutes les autres entrées sont 0 , cela satisfait donc toutes les conditions.
3 5 6 7 1 0 8 0 0
Cette matrice n'est pas une flèche car il y a un 0 sur la diagonale principale.
9 9 9 9 9 9 0 0 9 7 9 0 9 0 0 9
Celui-ci n'est pas non plus une pointe de flèche, car il contient un 7 à la place d'un 0 .
Plus de cas de test
Vérité
[[1, 1, 1], [1, 1, 0], [1, 0, 1]] [[1, 2, 3, 4], [1, 1, 0, 0], [1, 0, 1, 0], [1, 0, 0, 1]] [[1, 2, 2, 2], [2, 1, 0, 0], [3, 0, 1, 0], [4, 0, 0, 1]] [[34, 11, 35, 5], [56, 567, 0, 0], [58, 0, 679, 0], [40, 0, 0, 7]]
Fausseté:
[[3, 5, 6], [7, 1, 0], [8, 0, 0]] [[9, 9, 9, 9], [9, 9, 0, 0], [9, 7, 9, 0], [9, 0, 0, 9]] [[1, 0, 3, 4], [1, 1, 0, 0], [1, 0, 1, 0], [1, 0, 0, 1]] [[1, 6, 3, 4], [13, 2, 0, 6], [29, 0, 1, 0], [2, 0, 0, 4]]