Recollint aigua de pluja P17735


Statement
 

pdf   zip

Una elevació de terreny d’altura hh en un punt concret es pot representar mitjançant una barra vertical formada per hh quadrats de mida 1×11\times 1. En conseqüència, una seqüència d’nn enters representa un mapa 2D d’elevació de terreny en nn punts contigus, formant una projecció vertical del perfil del terreny.

Quan plou, es recull l’aigua de la pluja a les àrees de terreny que queden ensotades entre altres més altes. Per exemple, aquest és el volum màxim d’aigua que es podria recollir després d’una tempesta per a la seqüència { 1, 0, 2, 1, 0, 1, 3, 2, 1, 2, 1 }:

Donada una seqüència d’enters que representa un mapa 2D d’elevació de terreny, dibuixeu l’aigua recollida després d’una bona tempesta.

Entrada

L’entrada consisteix en diversos casos, cadascun amb una nn entre 3 i 10510^5, seguida de les nn elevacions, totes nombres naturals.

Sortida

Per a cada cas, dibuixeu el terreny després d’una tempesta. Marqueu el terreny amb ‘X’, l’aigua amb punts, i encercleu tot el dibuix amb guions i barres verticals com es pot veure als exemples.

Public test cases
  • Input

    11
    1 0 2 1 0 1 3 2 1 2 1
    18
    0 1 0 2 1 0 1 3 2 1 2 2 1 1 4 0 0 2
    

    Output

    -------------
    |      X    |
    |  X...XX.X |
    |X.XX.XXXXXX|
    -------------
    --------------------
    |              X   |
    |       X......X   |
    |   X...XX.XX..X..X|
    | X.XX.XXXXXXXXX..X|
    --------------------
    
  • Information
    Author
    Maria Blesa
    Language
    Catalan
    Official solutions
    C++
    User solutions
    C++