Advertisement
MonsterScripter

CodinGame_2023_08_26__12_20_32__montains.cpp

Aug 26th, 2023
1,341
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.38 KB | None | 0 0
  1. #include <iostream>
  2. #include <cstdlib>
  3. #include <vector>
  4. #include <utility>
  5. #include <algorithm>
  6.  
  7. using namespace std;
  8.  
  9. /**
  10.  * Objectif
  11.  * Écrivez le programme permettant de détruire les montagnes pour pouvoir attérir. Pour cela, tirez sur la montagne la plus haute.
  12.  * Règles
  13.  * Au début de chaque tour de jeu, vous recevez en entrée la hauteur de chaque montagne de gauche à droite.
  14.  * Avant la fin du tour de jeu, vous devez indiquer la montagne la plus haute pour tirer dessus.
  15.  * Tirer sur une montagne ne fera qu'en détruire une partie. Votre vaisseau descend à chaque passe.
  16.  *
  17.  * Conditions de victoire
  18.  * Vous gagnez si vous détruisez la montagne la plus haute à chaque tour
  19.  *
  20.  * Conditions de défaite
  21.  * Votre vaisseau percute une montagne
  22.  * Vous fournissez une sortie invalide ou votre programme ne réponds pas à temps
  23.  *
  24.  * Note
  25.  * N'oubliez pas d'exécuter les tests depuis la fenêtre "Jeu de tests". Les tests fournis et les validateurs utilisés pour le calcul du score sont légèrement différents pour éviter les solutions codées en dur.
  26.  *
  27.  * Entrées du jeu
  28.  * Le programme doit lire depuis l'entrée standard la hauteur des montagnes puis fournir sur la sortie standard l'indice de la montagne à détruire.
  29.  *
  30.  * Entrées pour un tour de jeu
  31.  * 8 lignes : un entier mountainH par ligne. Il représente la hauteur d'une montagne. Les hauteurs des montagnes sont données dans l'ordre de leur index (allant de 0 à 7).
  32.  *
  33.  * Sortie pour un tour de jeu
  34.  * Une unique ligne contenant le numéro de la montagne sur laquelle tirer.
  35.  *
  36.  * Contraintes
  37.  * 0 ≤ mountainH ≤ 9
  38.  * Temps de réponse pour un tour ≤ 100ms
  39.  */
  40.  
  41. int main()
  42. {
  43.     // Boucle du jeu
  44.     while (1) {
  45.         vector<pair<int, int>> montains;
  46.         // Lire les hauteurs des montagnes pour ce tour
  47.         for (int i = 0; i < 8; i++) {
  48.             int mountain_h; // représente la hauteur d'une montagne.
  49.             cin >> mountain_h; cin.ignore();
  50.             montains.push_back(pair(i, mountain_h));
  51.         }
  52.         // Trie dans l'ordre croissant
  53.         sort(montains.begin(), montains.end(),
  54.             [] (pair<int, int> p1, pair<int, int> p2) {
  55.                 return p1.second < p2.second;
  56.             }
  57.         );
  58.         // Affiche l'indice de la montagne la plus haute
  59.         cout << montains.back().first << endl;
  60.     }
  61.     return EXIT_SUCCESS;
  62. }
  63.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement