BOJ 20006順位戦キュー
8018 ワード
https://www.acmicpc.net/problem/20006
1秒、256 MBメモリ
input : p m(1 ≤ p ≤ 300)(1 ≤ m ≤ 300) l(1≦l≦500)ニックネームn output : ゲーム開始有無と部屋のプレイヤーのレベルとID出力 ニックネームアルファベット順のプレーヤー出力 を開始が始まるとスタート!待ってたらWaiting!出力 条件:
プレイヤーが入ることを申請すると、一致する部屋がなければ、新しい部屋を作成して入ります.この場合、この部屋は初めてプレイヤーに入るレベルを基準に、-10から+10に入ることができます.
入場できる部屋があれば、入場させて部屋の庭が全部埋まるのを待つ.
このとき,複数の入場可能な部屋があれば,生成された部屋を先に入場する.部屋の庭がいっぱいになるとゲームが始まります.
お尻を自由に使って、いつ作ったか保存して、これらの「部屋」を出して、等級制限がいくらなのか、長さがいくらなのかを確認してから追加すればいいのです.
どうしてそんなに间违ってるの??ただ出力中の条件に辞書の順番がない...
いつでも並んでいなければなりません...
1秒、256 MBメモリ
input :
プレイヤーが入ることを申請すると、一致する部屋がなければ、新しい部屋を作成して入ります.この場合、この部屋は初めてプレイヤーに入るレベルを基準に、-10から+10に入ることができます.
入場できる部屋があれば、入場させて部屋の庭が全部埋まるのを待つ.
このとき,複数の入場可能な部屋があれば,生成された部屋を先に入場する.部屋の庭がいっぱいになるとゲームが始まります.
どうしてそんなに间违ってるの??ただ出力中の条件に辞書の順番がない...
いつでも並んでいなければなりません...
import sys
p, m = map(int, sys.stdin.readline().split())
room = [[] for i in range(p)]
for i in range(p):
l, n = sys.stdin.readline().split()
for idx, item in enumerate(room):
if 0 < len(room[idx]) < m:
pivot_level = item[0][0]
if pivot_level - 10 <= int(l) <= pivot_level + 10:
room[idx].append((int(l), n))
break
if len(room[idx]) == 0:
room[idx].append((int(l), n))
break
for data in room:
data.sort(key=lambda x: x[1])
if len(data) == 0:
continue
if len(data) == m:
print("Started!")
for item in data:
print(item[0], item[1])
else:
print("Waiting!")
for item in data:
print(item[0], item[1])
Reference
この問題について(BOJ 20006順位戦キュー), 我々は、より多くの情報をここで見つけました https://velog.io/@jsin2475/BOJ-20006-랭킹전-대기열テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol