1191 - Arhitectura
Cerința[edit | edit source]
Primăria dorește să realizeze un proiect de sistematizare a orașului și pentru aceasta îl angajează pe arhitectul Gigel. Orașul constă în n clădiri; pentru fiecare se cunoaște înălțimea, iar Gigel trebuie să ordoneze descrescător aceste înălțimi.
Date de intrare[edit | edit source]
Programul citește de la tastatură prima linie numărul n, apoi n numere naturale separate prin spații, reprezentând înălțimile celor n clădiri.
Date de ieșire[edit | edit source]
Programul va afișa pe ecran n numere naturale, separate prin câte un spațiu, reprezentând înălțimile clădirilor, după ordonare.
Restricții și precizări[edit | edit source]
- 1 ≤ n ≤ 1000
- înălțimile clădirilor vor fi mai mici decât 1.000.000.000
Exemplul 1[edit | edit source]
- Intrare
- 5
- 1 2 7 3 6
- Ieșire
- Datele de intrare corespund restricțiilor impuse.
- 7 6 3 2 1
Exemplul 2[edit | edit source]
- Intrare
- 0
- Ieșire
- Datele de intrare nu corespund restricțiilor impuse.
Rezolvare[edit | edit source]
<syntaxhighlight lang="python" line="1">
- 1191 - Arhitectura
def arhitectura():
# citim numărul de înălțimi n = int(input()) # citim lista de înălțimi inaltimi = list(map(int, input().split()))
# verificăm restricțiile if n < 1 or n > 1000 or any(h < 1 or h >= 1000000000 for h in inaltimi): print("Datele de intrare nu corespund restricțiilor impuse.") else: print("Datele de intrare corespund restricțiilor impuse.") # sortăm lista de înălțimi, în ordine descrescătoare inaltimi_ord = ordonare_descrescatoare(inaltimi) # afișăm lista sortată de înălțimi print(*inaltimi_ord)
def ordonare_descrescatoare(lista):
# sortează lista în ordine descrescătoare return sorted(lista, reverse=True)
if __name__ == '__main__':
# apelăm funcția arhitectura() arhitectura()
</syntaxhighlight>