Cauchy - Szkoła MyśleniaMądra Główka                            Kolorowanki                            Procenty                            Kangur Żaczek22 maj 2019

Łamigłówki podstawowa

|

Przedszkolaki

|

Kolorowanki

|

Rebusy

|

Krzyżówki

|

Wykreślanki

|

Algorytmy

|

Zabawy

Kurs przygotowujący do konkursów matematycznych w szkole podstawowej

Poprzednie PoprzednieDo góry, menu nadrzędne, lista zadań Lista wszystkich tematówNastępne Następne

Korek

Przygotowanie do konkurs Logia

W mieście "Crowded City" jest kłopot z jednym ze skrzyżowań. Choć przecinają się na nim tylko dwie ulice (a właściwie to te dwie ulice łączą się w jedną) to ciągle pojawiają się na tym złączeniu korki. Szeryf policji postanowił zlecić rozwiązanie tego problemu... Tobie. Twoim zadaniem jest napisanie programu który określi jak długo w ciągu każdej minuty powinno palić się zielone światło na każdej z ulic by korek był minimalny, a najlepiej by w ogóle go nie było.
Przyjmujemy, że
  1. Każda z łączących się ulic ma tylko dwa światła:
    • zielone (auta z tej ulicy mogą jechać dalej, zaś auta z przeciwnej ulicy czekają)
    • czerwone (auta z tej ulicy stoją i czekają aż pojadą auta z przeciwnej ulicy)
  2. Jeśli jedna ulica ma zielone światło to druga ulica ma czerwone światło i odwrotnie.
  3. Pełen obieg świateł wynosi 1 minutę. To znaczy, że na przykład:
    • jeśli ulica A ma swiatło zielone światło 10 sekund, to ulica B ma zielone światło 50 sekund.
    • jeśli ulica A ma swiatło zielone światło 45 sekund, to ulica B ma zielone światło 15 sekund.
    • jeśli ulica A ma swiatło zielone światło 1 sekundę, to ulica B ma zielone światło 59 sekund.
  4. Podział między zielonym a czerwonym światłem na danej ulicy jest stały w czasie i Twój program ma ten podział ustalić. Na przykład Twój program ma ustalić, że ulica A ma zielone światło 15 sekund w ciągu każdej minuty, zaś ulica B ma zielone światło 45 sekund w ciągu każdej minuty.
    Tak więc podział zielonego światła między ulicami nie może się zmieniać w czasie. Ty masz ustalić jaki jest optymalny podział z punktu widzenia całości podanego natężenia ruchu aut.
  5. Ilość aut jaka przejedzie daną ulicą jest proporcjonalna do
    • czasu zielonego światła na tej ulicy
    • przepustowości tej ulicy
    Jeśli
    • przepustowość ulicy A wynosi 120 aut na minutę
    • ulica A ma zielone światło w ciągu 20 sekund (z kązdej minuty)
    to w ciągu każdej minuty z ulicy A skrzyżowanie przejedzie 40 aut (1/3 pełnej przepustowości ulicy A)


Wywołanie procedury:
? StopKorkom [120 80] [[1 2] [60 40] [4 3]]
oznacza, że:
  1. Na podstawie pierwszej głównej listy otrzymujemy:
    • Przepustowość ulicy A wynosi 120 aut na minutę
    • Przepustowość ulicy B wynosi 80 aut na minutę
  2. Na podstawie drugiej głównej listy otrzymujemy:
    1. Na podstawie pierwszej podlisty otrzymujemy:
      W pierwszej minucie nadjechało do skrzyżowania 1 auto z ulicy A i 2 auta z ulicy B
    2. Na podstawie drugiej podlisty otrzymujemy:
      W drugiej minucie nadjechało do skrzyżowania 60 aut z ulicy A i 40 aut z ulicy B
    3. Na podstawie trzeciej podlisty otrzymujemy:
      W trzeciej minucie nadjechały do skrzyżowania 4 auta z ulicy A i 3 auta z ulicy B
Wywołanie powyższej procedury powinno spowodować wypisanie na ekranie następującego komunikatu:
W ciągu każdej minuty droga A powinna mieć ustawione zielone swiatło na 30 sekund, droga B powinna mieć ustawione zielone światło na 30 sekund.
Dlaczego taki podział zielonego światła w ciągu każdej minuty? Zauważmy że
  1. W pierwszej minucie auta z każdej ulicy przejadą przez skrzyżowanie praktycznie bez względu na to jak długo każda z ulic ma zielone światło (korek nie utworzy się).
  2. W drugiej minucie
    1. Droga A ma zielone światło przez 30 sekund czyli przejedzie nią połowa aut z pełnej przepustowości drogi A czyli 120/2 = 60 aut - właśnie tyle ile nadjechałao w drugiej minucie drogą A. Zatem korek na ulicy A nie utworzy się.
    2. Droga B ma zielone światło przez 30 sekund czyli przejedzie nią połowa aut z pełnej przepustowości drogi B czyli 80/2 = 40 aut - właśnie tyle ile nadjechałao w drugiej minucie drogą B. Zatem korek na ulicy B się nie utworzy.
    3. W trzeciej minucie auta przejadą praktycznie bez względu na to jak długo każda z ulic ma zielone światło - podział zielonego światła 30 sekund do 30 sekund jest dobry.


Wywołanie procedury:
? StopKorkom [60 60] [[80 40] [20 160]]
oznacza, że:
  1. Na podstawie pierwszej głównej listy otrzymujemy:
    • Przepustowość ulicy A wynosi 60 aut na minutę (przyjmując, że ulica A ma cały czas zielone światło)
    • Przepustowość ulicy B wynosi 60 aut na minutę (przyjmując, że ulica B ma cały czas zielone światło)
  2. Na podstawie drugiej głównej listy otrzymujemy:
    1. Na podstawie pierwszej podlisty otrzymujemy:
      W pierwszej minucie nadjechało do skrzyżowania 80 aut z ulicy A i 40 aut z ulicy B
    2. Na podstawie drugiej podlisty otrzymujemy:
      W drugiej minucie nadjechało do skrzyżowania 20 aut z ulicy A i 160 aut z ulicy B
Wywołanie powyższej procedury powinno spowodować wypisanie na ekranie następującego komunikatu:
W ciągu każdej minuty droga A powinna mieć ustawione zielone swiatło na 20 sekund, droga B powinna mieć ustawione zielone światło na 40 sekund.
Dlaczego taki podział zielonego światła w ciągu każdej minuty? Zauważmy że
  1. W pierwszej minucie idealnie jest ustawić zielone światło na 40 sekund dla A i 20 sekund dla B. Wówczas (nie wuzględniając ruchu z drugiej minuty) korek rozładuje się w drugiej minucie i będzie to najkrótszy czas korka.
  2. Jednak tak czy inaczej część samochodów zarówno z ulicy A jak i ulicy B nie przejedzie przez skrzyżowanie w ciągu pierwszej minuty. Dlatego rozpatrując łącznie pierwsze dwie minuty widzimy, że nadjeżdza do skrzyżowania 100 aut ulicą A i 200 ulicą B. Ustaiwając przepustowość:
    1. Droga A ma zielone światło przez 20 sekund mamy, że w ciągu każdej minuty przez skryżowanie przejedzie 20 aut z drogi A i wszystkie auta (100) z drogi A przejadą przez skrzyżowanie w ciągu 5 minut.
    2. Droga B ma zielone światło przez 40 sekund mamy, że w ciągu każdej minuty przez skryżowanie przejedzie 40 aut z drogi N i wszystkie auta (200) z drogi B przejadą przez skrzyżowanie w ciągu 5 minut.
Czyli wszystkie auta z obu dróg przejadą w ciągu 5 minut przez skrzyżowanie co jest najkrótszym możliwym czasem.


Wywołanie procedury:
? StopKorkom [60 60] [[30 40] [60 40]]
oznacza, że:
  1. Na podstawie pierwszej głównej listy otrzymujemy:
    • Przepustowość ulicy A wynosi 60 aut na minutę (przyjmując, że ulica A ma cały czas zielone światło)
    • Przepustowość ulicy B wynosi 60 aut na minutę (przyjmując, że ulica B ma cały czas zielone światło)
  2. Na podstawie drugiej głównej listy otrzymujemy:
    1. Na podstawie pierwszej podlisty otrzymujemy:
      W pierwszej minucie nadjechało 1 auto z ulicy A i 2 auta z ulicy B
    2. Na podstawie drugiej podlisty otrzymujemy:
      W drugiej minucie nadjechało 60 aut z ulicy A i 40 aut z ulicy B
Wywołanie powyższej procedury powinno spowodować wypisanie na ekranie następującego komunikatu:
W ciągu każdej minuty droga A powinna mieć ustawione zielone swiatło na 30 sekund, droga B powinna mieć ustawione zielone światło na 30 sekund.
Dlaczego taki podział zielonego światła w ciągu każdej minuty? Zauważmy że
  1. W pierwszej minucie auta przejadą praktycznie bez względu na to jaki długo każda z ulic ma zielone światło
  2. W drugiej minucie
    1. Droga A ma zielone światło przez 30 sekund czyli przejedzie połowa aut z pełnej przepustowości drogi A czyli 120/2 = 60 aut - tyle ile nadjechałao w drugiej minucie drogą A. Zatem korek na ulicy A się nie utworzy.
    2. Droga B ma zielone światło przez 30 sekund czyli przejedzie połowa aut z pełnej przepustowości drogi B czyli 80/2 = 40 aut - tyle ile nadjechałao w drugiej minucie drogą B. Zatem korek na ulicy B się nie utworzy.

PoprzednieDo góry, menu nadrzędne, lista zadańNastępne
PoprzednieLista wszystkich tematówNastępne
-----------------------------------------
Nie znalazłeś szukanej treści?
Poszperaj w serwisie cauchy.pl lub w sieci.
Google
 

Newsletter

Tak, chcę otrzymywać bezpłatny newsletter:

Imię:

Email:

 
 
Korepetycje, korepetycje z języka polskiego
 
Dziecięce zabawy i gry, edukacyjne zagadki dla maluchów: przedszkolaków, uczniów szkół podstawowych
 
(C) 2016 Szkoła Myślenia im. A. L. Cauchy        Napisz  Napisz        Praca      Reklama
   korepetycje