1191 - Arhitectura: Difference between revisions
Adina Timiș (talk | contribs) Pagină nouă: ==Cerința== 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== 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== Program... |
Adina Timiș (talk | contribs) No edit summary |
||
Line 22: | Line 22: | ||
:Datele de intrare nu corespund restricțiilor impuse. | :Datele de intrare nu corespund restricțiilor impuse. | ||
==Rezolvare== | ==Rezolvare== | ||
<syntaxhighlight lang="python" line=""> | <syntaxhighlight lang="python" line="1"> | ||
#1191 - Arhitectura | #1191 - Arhitectura | ||
def main(): | def main(): | ||
# citim numărul de înălțimi | |||
n = int(input()) | n = int(input()) | ||
# citim lista de înălțimi | |||
inaltimi = list(map(int, input().split())) | 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): | 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.") | print("Datele de intrare nu corespund restricțiilor impuse.") | ||
else: | else: | ||
print("Datele de intrare corespund restricțiilor impuse.") | print("Datele de intrare corespund restricțiilor impuse.") | ||
# sortăm lista de înălțimi, în ordine descrescătoare | |||
inaltimi_ord = ordonare_descrescatoare(inaltimi) | inaltimi_ord = ordonare_descrescatoare(inaltimi) | ||
# afișăm lista sortată de înălțimi | |||
print(*inaltimi_ord) | print(*inaltimi_ord) | ||
def ordonare_descrescatoare(lista): | |||
# sortează lista în ordine descrescătoare | |||
return sorted(lista, reverse=True) | |||
if __name__ == '__main__': | if __name__ == '__main__': | ||
main() | main() | ||
</syntaxhighlight> | </syntaxhighlight> |
Revision as of 22:06, 23 April 2023
Cerința
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
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
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
- 1 ≤ n ≤ 1000
- înălțimile clădirilor vor fi mai mici decât 1.000.000.000
Exemplul 1
- Intrare
- 5
- 1 2 7 3 6
- Ieșire
- Datele de intrare corespund restricțiilor impuse.
- 7 6 3 2 1
Exemplul 2
- Intrare
- 0
- Ieșire
- Datele de intrare nu corespund restricțiilor impuse.
Rezolvare
<syntaxhighlight lang="python" line="1">
- 1191 - Arhitectura
def main():
# 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__':
main()
</syntaxhighlight>