日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

看病(信息学奥赛一本通-T1371)

發(fā)布時(shí)間:2025/3/17 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 看病(信息学奥赛一本通-T1371) 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

【題目描述】

有個(gè)朋友在醫(yī)院工作,想請(qǐng)BSNY幫忙做個(gè)登記系統(tǒng)。具體是這樣的,最近來(lái)醫(yī)院看病的人越來(lái)越多了,因此很多人要排隊(duì),只有當(dāng)空閑時(shí)放一批病人看病。但醫(yī)院的排隊(duì)不同其他排隊(duì),因?yàn)槎鄶?shù)情況下,需要病情嚴(yán)重的人優(yōu)先看病,所以希望BSNY設(shè)計(jì)系統(tǒng)時(shí),以病情的嚴(yán)重情況作為優(yōu)先級(jí),判斷接下來(lái)誰(shuí)可以去看病。

【輸入】

第一行輸入n,表示有n個(gè)操作。

對(duì)于每個(gè)操作,首先輸入push或pop。

push的情況,之后會(huì)輸入ai 和 bi,分別表示患者姓名和患者病情優(yōu)先級(jí)。

pop后面沒(méi)有輸入,但需要你輸出。

【輸出】

對(duì)于pop的操作,輸出此時(shí)還在排隊(duì)人中,優(yōu)先級(jí)最大的患者姓名和優(yōu)先級(jí)。

表示他可以進(jìn)去看病了。

如果此時(shí)沒(méi)人在排隊(duì),那么輸出”none”,具體可見(jiàn)樣例。

【輸入樣例】

7
pop
push bob 3
push tom 5
push ella 1
pop
push zkw 4
pop

【輸出樣例】

none
tom 5
zkw 4

【源程序】

#include<iostream> #include<cstdio> #include<cstring> #include<cmath> #include<algorithm> #include<string> #include<cstdlib> #include<queue> #include<vector> #define INF 0x3f3f3f3f #define PI acos(-1.0) #define N 100001 #define MOD 123 #define E 1e-6 using namespace std;struct Node {int num;int grade;char id[N]; } s; bool operator < (const Node &x, const Node &y) {if (x.grade == y.grade)return x.num < y.num; return x.grade > y.grade; } char str[N], name[N]; priority_queue<Node> q; int main() {int n;scanf("%d\n",&n);int k = 1;for (int i = 1; i <= n; i++) {scanf("%s",str);if (strcmp(str, "push") == 0) {int a;scanf("%s%d",name,&a);s.grade = k;s.num = a;for (int j = 0; j < strlen(name); j++)s.id[j] = name[j];q.push(s); } else {if (!q.empty()) {s = q.top();q.pop();printf("%s %d\n", s.id, s.num);} elseprintf("none\n");}}return 0; }

?

總結(jié)

以上是生活随笔為你收集整理的看病(信息学奥赛一本通-T1371)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。