【Huawei ODマシンテストPython】模擬メッセージキュー【2023年B巻 | 100点】

[ Huawei OD Computer Test ] - 実際の質問!! ここをクリックしてください!

Huawei ODコンピュータ試験】実際の試験ポイントの分類!! こちらをクリック !!

質問の説明

パブリッシャーと複数のコンシューマーを使用して、メッセージ キューの操作をシミュレートしてみましょう。

パブリッシャーは、特定の瞬間にメッセージ キューにメッセージを送信します。この時点でメッセージ キューにコンシューマー サブスクリプションがある場合、

このメッセージは、最も高い優先順位でサブスクライブしたコンシューマーに送信されます (入力内のコンシューマーは優先順位の昇順に並べられます)。

この時点でサブスクライブされたコンシューマが存在しない場合、メッセージはメッセージ キューによって破棄されます。コンシューマは、特定の瞬間にメッセージ キューをサブスクライブまたはサブスクライブ解除します。

メッセージ送信とサブスクリプションが同時に発生した場合、サブスクリプション操作が最初に処理されます。つまり、同時にサブスクライブしたコンシューマがメッセージ送信の候補になります。

メッセージの送信と購読解除が同時に発生した場合、購読解除操作が最初に処理されます。つまり、同時に購読解除したコンシューマーにはメッセージは送信されません。

説明を入力してください

2行で入力してください

最初の行は 2N 個の正の整数で、発行者によって送信された N 個のメッセージの時刻と内容を表します。解釈の便宜上、メッセージの内容も正の整数で表されます)。

最初の数字は最初の人のメッセージが送信された瞬間、2 番目の数字は最初のメッセージの内容、というようになります。

このユースケースでは、送信時間が繰り返されないようにしていますが、メッセージは送信時間に従って配置されていないことに注意してください。

2行目2

Guess you like

Origin blog.csdn.net/goldarmour/article/details/133000768