UVA 6440 Emergency Handling 队列

原创 2014年08月11日 21:27:06

一家医院比较繁忙,病人需要排队,病人有个病重程度,给出病人在送来的初始病重程度和送来的时间以及随时间恶化的程度,每次接待病人接待病重程度最高的,相同就接待随时间恶化程度比较严重的。

直接用优先队列模拟就可以了,priority_queue<int>q[110];把随时恶化程度对应的病人push进对应相应的相应的队列,根据每一次输入的字符是S或是A选择是压进队列还是从所有队列中挑选出最符合的病人出队并输出。

#include <iostream>
#include <cstdio>
#include <cstring>
#include <cmath>
#include <queue>
#include <algorithm>
#include <cstdlib>
#include <iomanip>
#define inf (1<<29)
using namespace std;
int	n;
int t0,r,a;
char s[2];
int maxv;
int st;
priority_queue<int>q[110];
int main()
{
	int t;
	int k=1;
	scanf("%d",&t);
	while(t--)
	{
		scanf("%d",&n);
		j=0;
		for(int i=0;i<110;i++)
		{
			while(!q[i].empty())
			{
				q[i].pop();
			}
		}
		printf("Case #%d:\n",k++);
		while(n--)
		{
			scanf("%s",s);
			if(s[0]=='A')
			{
				scanf("%d",&a);
				int p=-1;
				maxv=-1;
				for(int i=0;i<110;i++)
				{
					if(!q[i].empty())
					{
						if(maxv<=q[i].top()+(a*i))
                         {
                             maxv=q[i].top()+(a*i);
                             p=i;
                         }
					}
				}
				q[p].pop();
				printf("%d %d\n",maxv,p);
			}
			else
			{
				scanf("%d%d%d",&t0,&st,&r);
				st-=t0*r;
				q[r].push(st);
			}
		}
	}
	return 0;
}


ubuntu 16.04开机进入emergency mode的一种可能

今日开机后突然进入emergency mode,胡乱折腾一通,终于找到问题所在,查阅资料后终于解决了问题。 起因:电脑是win10+ubuntu双系统,前一日在win10上运行虚拟机做实验时,突...
  • Flora_C
  • Flora_C
  • 2016年12月02日 16:02
  • 3169

UVa在线比赛单题汇总-----DP专题

动态规划基础 例题 LA 3882 UVa 3882 - And Then There Was One 递推------------无力orz UVa 10635 10635 -...
  • cyendra
  • cyendra
  • 2013年04月21日 21:29
  • 2253

UVa 540 小团体队列

题意:队列中有小团体(队列)。当入队时,如果有该团体的元素在队列中,则新元素排到该团体的尾部,否则排到队列的尾部。出队时和正常的一样,队首元素出列。 思路:这个用STL很好模拟,用纯C的话,很直接会想...
  • buxizhizhou530
  • buxizhizhou530
  • 2014年08月25日 13:20
  • 1067

UVALive 6440 Emergency Handling 【思维好题啊!!! + 优先队列处理】

传送门 // 题意: 给定n个操作, 如果是f表示有一个病人来就诊, a代表医院可以接受一个病人, 选择的规则为首先选严重程度最严重的, 如果相同就想等级高的, 在相同就可以随意选了. 病人的严重程...
  • Anxdada
  • Anxdada
  • 2018年01月13日 19:43
  • 19

UVALive 6440 Emergency Handling 优先队列

题目连接:https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&...
  • u010008539
  • u010008539
  • 2014年08月11日 12:06
  • 386

UvaLive 6440 - Emergency Handling(数据结构)

题目链接 UvaLive 6440 - Emergency Handling 题意
  • madaidao
  • madaidao
  • 2014年08月01日 15:54
  • 654

UVA - 12170 Easy Climb 轻松爬山 单调队列优化DP

题意:输入正整数d和n个正整数h1,h2,...,hn。可以修改除了h1和hn的其他数,要求修改后相邻两个数之差的绝对值不超过d,且修改费用最小。设h1修改后的值为hi',则修改费用为|h1-h1'|...
  • yskyskyer123
  • yskyskyer123
  • 2016年02月16日 22:10
  • 458

UVA10603倒水问题加优先队列

这题是一个倒水问题的变形,也是隐式图的搜索,刚开始读错题了,这题让求得是倒水量,而不是倒水的次数。 然后这题要用优先队列,一旦搜到d,就退出搜索,因为是每次搜索得到新的状态都按照d进行了排序,所以一...
  • ONE_PIECE_HMH
  • ONE_PIECE_HMH
  • 2015年11月09日 18:54
  • 390

UVA 10474Where is the Marble?(n在排完序队列的第几个位置)

Where is the Marble? Time Limit:3000MS     Memory Limit:0KB     64bit IO Format:%lld & %llu Desc...
  • Hush_lei
  • Hush_lei
  • 2014年08月06日 16:01
  • 689

多路归并优先队列——UVA 11997

多路归并优先队列
  • u013351484
  • u013351484
  • 2014年12月22日 14:44
  • 503
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:UVA 6440 Emergency Handling 队列
举报原因:
原因补充:

(最多只允许输入30个字)