본문 바로가기
공부/코딩테스트

백준: 20867번 Rulltrappa (Python3)

by 혼밥맨 2022. 8. 10.
반응형

백준: 20867번 Rulltrappa (Python3)

Rulltrappa 성공다국어

 
시간 제한메모리 제한제출정답맞힌 사람정답 비율
1 초 1024 MB 469 320 300 67.720%

문제

Paulina Osqulda (Osqulda är en studentikos benämning på teknologer som studerar vid Kungliga Tekniska högskolan i Stockholm, se https://sv.wikipedia.org/wiki/Osquar_och_Osqulda.) pluggar på KTH i Stockholm, och åker varje morgon till skolan via tunnelbanan. När hon kommer fram till sin tunnelbanestation måste hon åka upp längs en rulltrappa för att komma ut.

I rulltrappan bildas det ofta två olika köer. På den högra sidan av trappan ställer sig folk som vill stå still i rulltrappan, medan man ställer sig på den vänstra sidan om man föredrar att gå i rulltrappan (för att komma upp snabbare).

Paulina har märkt att det oftast bildas en jättelång kö till den vänstra sidan av rulltrappan, eftersom alla är så stressade till jobbet och vill kunna gå snabbt upp för rulltrappan. På sista tiden har hon funderat på om det kanske rentav skulle gå snabbare att istället välja den högra kön, eftersom kön där ofta är kortare.

Rulltrappan är totalt M trappsteg lång. Om man står i rulltrappan färdas man S trappsteg per sekund uppåt i rulltrappan. Om man istället går i rulltrappan färdas man G trappsteg per sekund uppåt.

Totalt kan A personer per sekund börja gå i rulltrappan ur den vänstra kön, medan B personer per sekund kan ställa sig på rulltrappan ur den högra kön. Detta betyder att i början av förloppet går en person på rulltrappan. Innan en ny person går på rulltrappan måste denna vänta 1A (resp 1B sekunder) för att kunna gå på rulltrappan.

Den vänstra kön är för närvarande L personer lång, och den högra är R personer lång.

Hjälp Paulina avgöra vilken kö hon ska ställa sig i, för att så snabbt som möjligt nå rulltrappans topp.

입력

Den första raden i indatat består av heltalen M,S,G som är beskrivna i uppgiften. Det gäller att 30≤M≤200, 1≤S≤G≤M.

Nästa rad innehåller decimaltalen A,B som är beskrivna i uppgiften. Det gäller att 0.1≤A,B≤1.

Den sista raden innehåller heltalen L,R som är beskrivna i uppgiften. Det gäller att 0≤L,R≤100.

출력

Skriv ut latmask om det snabbaste alternativet är att välja den högra kön och stå i rulltrappan, eller friskus om det snabbaste alternativet är att välja den vänstra kön och gå i rulltrappan.

Det är garanterat att tiden det tar för Paulina att åka upp för rulltrappan skiljer sig med minst 1 sekund mellan de två köerna, så du behöver aldrig bry dig om fallet när båda alternativen är lika snabba.

예제 입력 1 

50 1 2
1 1
0 0

예제 출력 1 

friskus

I exempel 1 är båda köer tomma, så Paulina kan omedelbart börja gå upp längs rulltrappan. Om hon står stilla i rulltrappan färdas hon med 1 trappsteg per sekund, så det tar 501=50 sekunder. Om hon istället går upp i rulltrappan färdas hon med 2 trappsteg per sekund, så det tar 502=25 sekunder, vilket är det snabbare alternativet.

예제 입력 2 

50 1 1
1 0.5
7 3

예제 출력 2 

latmask

I exempel 2 går det inte snabbare för Paulina att gå upp för rulltrappan än om hon står stilla (ty hon har stukat foten). Däremot har båda sidorna en kö.

I den högra sidan av kön står det 3 personer, och det tar 30.5=6 sekunder innan dessa personer har gått på rulltrappan. I den vänstra sidan står det istället 4 personer, och det tar 71=7 sekunder innan dessa personer har gått på rulltrappan.

Således är det snabbare alternativet att välja den högra kön och stå stilla i rulltrappan.

예제 입력 3 

100 2 4
0.5 0.3
52 24

예제 출력 3 

friskus

Om Paulina väljer den vänstra kön och går upp för rulltrappan kommer hon upp efter 129 sekunder. Om hon istället väljer att ta den högra kön och därmed stå i rulltrappan tar det 130 sekunder.

답안

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
m, s, g = map(int, input().split())
a, b = map(eval, input().split())
l, r = map(eval, input().split())
 
lwait= l / a; rwait = r/b;
ls = (m/g+1 if m%g>0  else m/g)
rs = (m/s+1 if m%s>0  else m/s)
 
if (ls < rs):
    if (ls + lwait < rs + rwait):
        print("friskus")
    else:
        print("latmask")
else:
    if (ls + lwait < rs + rwait):
        print("friskus")
    else:
        print("latmask")
cs
반응형

댓글