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 :
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
Ainsi, le point en [2, 1] (ligne : 2, colonne : 1) est un excellent emplacement pour une cabane dans les arbres.
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.
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
Inscris-toi sur Exercism pour apprendre et maîtriser WebAssembly avec 87 exercices, et un vrai mentorat humain, le tout gratuitement.