応急(Q)
7955 ワード
作成日:2022年1月27日午後5:58
差異 で私が実装したコードではfori,v in pateintsq:curより大きい値があるかどうかをチェックするコードが重複文で直接実装されています. この部分はany()関数を用いてのモデルで実現された.
インプリメンテーションコード
# 응급실 (큐)
import sys
from collections import deque
#sys.stdin = open("input.txt", "rt")
n, m = map(int, input().split())
patientsQ = [(index, val) for index, val in enumerate(list(map(int, input().split())))]
patientsQ = deque(patientsQ)
cnt = 0
while True:
cur = patientsQ.popleft()
for i, v in patientsQ:
if v > cur[1]:
patientsQ.append(cur)
break
else:
if cur[0] != m:
cnt += 1
else:
cnt += 1
break
print(cnt)
模範解答
import sys
from collections import deque
sys.stdin=open("input.txt", "r")
n, m=map(int, input().split())
Q=[(pos, val) for pos, val in enumerate(list(map(int, input().split())))]
Q=deque(Q)
cnt=0
while True:
cur=Q.popleft()
if any(cur[1]<x[1] for x in Q):
Q.append(cur)
else:
cnt+=1
if cur[0]==m:
print(cnt)
break
Reference
この問題について(応急(Q)), 我々は、より多くの情報をここで見つけました https://velog.io/@lsj8706/응급식-큐テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol