Parcours
/
WebAssembly
WebAssembly
/
Exercices
/
Points de selle
Points de selle

Points de selle

Moyen

Introduction

Tu prévois de construire une cabane dans les arbres, dans les bois près de chez toi, pour pouvoir observer le lever et le coucher du soleil.

Tu as obtenu les données d'un cabinet de géomètres local, qui donnent la hauteur de chaque arbre dans chaque section rectangulaire de la carte. Tu dois analyser chaque grille de la carte pour trouver de bons arbres pour ta cabane.

Un bon arbre remplit les deux conditions suivantes :

  • plus haut que tous les arbres situés à l'est et à l'ouest, pour avoir la meilleure vue possible sur les levers et les couchers de soleil.
  • plus bas que tous les arbres situés au nord et au sud, pour avoir le moins possible à grimper aux arbres.

Instructions

Ta tâche est de trouver les arbres potentiels où tu pourrais construire ta cabane dans les arbres.

L'entreprise de données fournit les données sous forme de grilles qui montrent la hauteur des arbres. Les lignes de la grille représentent la direction est-ouest, et les colonnes représentent la direction nord-sud.

Un arbre acceptable est le plus grand de sa ligne, tout en étant le plus petit de sa colonne.

Une grille peut très bien ne contenir aucun bon arbre. Ou bien elle peut en contenir un, voire plusieurs.

Voici une grille qui contient exactement un arbre candidat.

      ↓
      1  2  3  4
    |-----------
  1 | 9  8  7  8
→ 2 |[5] 3  2  4
  3 | 6  6  7  1
  • La ligne 2 contient les valeurs 5, 3, 2 et 4. La plus grande valeur est 5.
  • La colonne 1 contient les valeurs 9, 5 et 6. La plus petite valeur est 5.

Ainsi, le point en [2, 1] (ligne : 2, colonne : 1) est un excellent emplacement pour une cabane dans les arbres.

Instructions spécifiques au parcours

Format d'entrée

L'entrée sera sous la forme d'une string. Pour que cet exercice reste accessible aux débutants, tu n'as pas à prévoir de nombres à plusieurs chiffres.

Les octets 64 à 191 de la mémoire linéaire sont réservés à la string d'entrée.

Format de sortie

La sortie est attendue sous la forme de paires de ligne et de colonne en u8 directement concaténées.

Par exemple, s'il y a trois points de selle

ligne : 2, colonne : 1 ligne : 2, colonne : 2 ligne : 2, colonne : 3

alors la sortie attendue serait les valeurs u8 2, 1, 2, 2, 2, 3

Modifie via GitHub Le lien s'ouvre dans une nouvelle fenêtre ou un nouvel onglet
WebAssembly Exercism

Prêt à commencer Points de selle ?

Inscris-toi sur Exercism pour apprendre et maîtriser WebAssembly avec 87 exercices, et un vrai mentorat humain, le tout gratuitement.