ybt 1371 看病

#include <iostream>
#include<queue>
#include<cstdio>
#include<cstring>
using namespace std;
struct node
{	char s[20];
	int x;
	friend bool operator < (node a,node b) 
	{
	return a.x<b.x;//x大的优先级高,为顶端可操作的元素
	}
} ;
int main()
{
	int n,i;
	char s[20];
	priority_queue<node> qu;
	node temp;//创建一个temp变量 
	cin>>n;
	for(i=0;i<n;i++)
	{scanf("%s",&s[0]);//字符串s为s[20]的首地址,即&s[0] 
	if(strcmp(s,"push")==0)
		{
		scanf("%s%d",temp.s,&temp.x);qu.push(temp);//如果输入的匹配push那就输入病人的姓名和病人生病的优先级
		}
	else
		{
		if(qu.empty()) 
		printf("none\n");
		else
			{
			temp=qu.top();qu.pop();printf("%s %d\n",temp.s,temp.x);//这是输入pull的情况,输出最大
			}
		}
	}
	return 0;
}

 

posted @ 2022-05-21 23:16  半喜  阅读(107)  评论(0)    收藏  举报