1191 - Arhitectura: Difference between revisions

From Bitnami MediaWiki
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...
 
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">

  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>