TIANKENG’s restaurant--hdu4883 待我称王封你为后i 2022-08-04 08:58 15阅读 0赞 TIANKENG’s restaurant **Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/65536 K (Java/Others) Total Submission(s): 1629 Accepted Submission(s): 588** Problem Description TIANKENG manages a restaurant after graduating from ZCMU, and tens of thousands of customers come to have meal because of its delicious dishes. Today n groups of customers come to enjoy their meal, and there are Xi persons in the ith group in sum. Assuming that each customer can own only one chair. Now we know the arriving time STi and departure time EDi of each group. Could you help TIANKENG calculate the minimum chairs he needs to prepare so that every customer can take a seat when arriving the restaurant? Input The first line contains a positive integer T(T<=100), standing for T test cases in all. Each cases has a positive integer n(1<=n<=10000), which means n groups of customer. Then following n lines, each line there is a positive integer Xi(1<=Xi<=100), referring to the sum of the number of the ith group people, and the arriving time STi and departure time Edi(the time format is hh:mm, 0<=hh<24, 0<=mm<60), Given that the arriving time must be earlier than the departure time. Pay attention that when a group of people arrive at the restaurant as soon as a group of people leaves from the restaurant, then the arriving group can be arranged to take their seats if the seats are enough. Output For each test case, output the minimum number of chair that TIANKENG needs to prepare. Sample Input 2 2 6 08:00 09:00 5 08:59 09:59 2 6 08:00 09:00 5 09:00 10:00 Sample Output 11 6 这个题主要思想时,找出重叠时间区间的最大人数!!简单代码,贪心思想 1 #include<stdio.h> 2 #include<string.h> 3 int main() 4 { 5 int n,i,N,j,time[10010],a,b,c,d,e; 6 scanf("%d",&N); 7 while(N--) 8 { 9 int bb,ee,max; 10 memset(time,0,sizeof(time)); 11 scanf("%d",&n); 12 max=0; 13 for(i=0;i<n;i++) 14 { 15 scanf("%d%d:%d%d:%d",&a,&b,&c,&d,&e); 16 bb=b*60+c; 17 ee=d*60+e; 18 for(j=bb;j<ee;j++) 19 time[j]+=a;//重叠区域相加人数 20 } 21 for(i=0;i<25*60;i++) 22 max=max>time[i]?max:time[i]; 23 printf("%d\n",max); 24 } 25 return 0; 26 }
相关 【杭电4883】TIANKENG’s restaurant ![这里写图片描述][20160722203957530] ![这里写图片描述][20160722204005896] include<string.h> 港控/mmm°/ 2022年09月24日 01:29/ 0 赞/ 93 阅读
相关 TIANKENG’s restaurant--hdu4883 TIANKENG’s restaurant Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/65536 待我称王封你为后i/ 2022年08月04日 08:58/ 0 赞/ 16 阅读
相关 hdu--4884--TIANKENG’s rice shop【模拟】 TIANKENG’s rice shop Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32 青旅半醒/ 2022年06月08日 08:07/ 0 赞/ 110 阅读
相关 【BZOJ4883】 [Lydsy1705月赛]棋盘上的守卫(最小生成树,基环树) 传送门 [BZOJ][] Solution 考虑一下如果把行,列当成点,那么显然这个东西就是一个基环树对吧. 直接按照\\(Kruscal\\)那样子搞就好了 小鱼儿/ 2021年12月20日 02:25/ 0 赞/ 206 阅读
还没有评论,来说两句吧...