首页 > 其他 > 详细

HDU1050Moving Tables

时间:2014-03-08 14:40:58      阅读:425      评论:0      收藏:0      [点我收藏+]

  贪心,重叠计数。

  首先,对门的房间可以认为是一个,例如1和2号房间都可以看成是2号房间,这样就可以假设为有1-200个房间排成一行,用一个数组标记从a到b房间之间的房间,有重叠的时候标记++,标记数组中最大的数cnt记录一下,最后cnt即是需要搬运的次数即时间为cnt*10

 

 

bubuko.com,布布扣
 1 #include <stdio.h>
 2 #include <string.h>
 3 #define maxn 200+10
 4 int room[maxn];
 5 int main ()
 6 {
 7     int T;
 8     scanf ("%d",&T);
 9     while (T--)
10     {
11         int n;
12         scanf ("%d",&n);
13         int i,cnt = 0;
14         memset (room,0,sizeof (room));
15         for (i = 0;i<n;++i)
16         {
17             int a,b;
18             scanf ("%d%d",&a,&b);
19             a = (a+1)/2;
20             b = (b+1)/2;
21             if (a>b){int t = a;a = b;b = t;}
22             int j;
23             for (j = a;j<=b;++j)
24             {
25                 room [j]++;
26                 if (cnt<room[j])cnt = room[j];
27             }
28         }
29         printf ("%d\n",cnt*10);
30     }
31     return 0;
32 }
bubuko.com,布布扣

HDU1050Moving Tables,布布扣,bubuko.com

HDU1050Moving Tables

原文:http://www.cnblogs.com/GJKACAC/p/3587077.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!