#!/usr/bin/python3 # coding=utf8 # Zdrojový kód k úloze 28-Z1-5 Dvě fronty na oběd # Autorka: Katka Zákravská # Vstup programu: # Jsou zadané dva řádky -- dvě fronty žáků (setříděné). # Fronta žáků jsou čísla (vyjadřující výšku žáků v cm) oddělená mezerami. # Příklad fronty: 110 130 145 150 151 169 173 180 # Výstup programu: # Setříděná fronta žáků, vypíšeme postupně jejich výšky. ## Načtení vstupu prvni_fronta = list(map(int, input().split())) druha_fronta = list(map(int, input().split())) ## Inicializace a deklarace proměnných p, d = 0, 0 prvni_delka = len(prvni_fronta) druha_delka = len(druha_fronta) vysledna_fronta = list() ## Fronty "sléváme" dokud jsou v obou žáci. while (p < prvni_delka and d < druha_delka): # První žák z první fronty je menší než první žák z druhé fronty. if (prvni_fronta[p] <= druha_fronta[d]): vysledna_fronta.append(prvni_fronta[p]) p += 1 # První žák z druhé fronty je menší než první žák z první fronty. else: vysledna_fronta.append(druha_fronta[d]) d += 1 ## Jedna fronta je prázdná, v té druhé ještě někdo zbývá. # Pokud je prázdná první fronta, zbylé žáky z druhé pošleme do výsledné fronty. if (p == prvni_delka): # Funkce extend připojí všechny prvky druha_fronta od indexu d # na konec listu vysledna_fronta. vysledna_fronta.extend(druha_fronta[d:]) # Pokud je prázdná druhá fronta, zbylé žáky z první pošleme do výsledné fronty. else: # (d == druha_delka) vysledna_fronta.extend(prvni_fronta[p:]) ## Vypsání výsledné fronty ve formátu: [1, 4, 7, 10] print(vysledna_fronta)