杭电 ACM Step(3)
2018-03-31 16:13
393 查看
Chapter One
Section 3
Moving Tables题目求解
区间覆盖求解
题目中的一个容易被忽视的点便在于,所有的奇数房间在一旁,所有偶数房间在另一旁。如果只是简单的判断房间序号大小是否相交,会出现错误情况。
如图所示,在9和10号房间中的区域明显被公用,需要20分钟时间才可以。
从走廊的角度思考,1号和2号房间对应于1号走廊,3号和4号房间对应2号走廊。如此,便是有两百个这样的位置。可以发现,走廊号=(房间号+1)/2
代码如下:
#include <stdio.h> #include <string.h> int flag[201]; int main() { int nCases, n, i, cnt; int s, t; scanf("%d", &nCases); int tab; while (nCases--) { cnt = 0; memset(flag, 0, sizeof(flag));//将flag[201]中数据清零 scanf("%d", &n); while (n--) { scanf("%d %d", &s, &t); if (s>t) { tab =t; t=s; s=tab; //s为输入数据中较小的值,t为较大的值 } for (i=(s+1)/2; i<=(t+1)/2; i++) flag[i] += 1; } cnt = flag[1]; for (i=2; i<201; i++) { if (cnt<flag[i]) cnt = flag[i];//取出最大值 } printf("%d\n", cnt*10); } return 0; }
相关文章推荐
- 杭电acm step 1.3.6 Rank
- 杭电ACM_step1.2.1
- 杭电acm step 动态规划专题总结(1)简单的动态规划问题
- 杭电ACM ACMStep1.3.2
- 杭电ACM Step 纪念
- 杭电 acm step 1.3.1 Moving Tables
- 杭电acm_step1.2.2
- 杭电 acm step 1.3.7 As Easy As A+B
- 杭电 ACM Step(3)
- 杭电acm step 1.3.8 Who's in the Middle
- 杭电OJ acm_step1.1.2
- http://acm.hdu.edu.cn/showproblem.php?pid=1907,与杭电2509题类似。
- ACM STEP 1.1.6 A+B for Input-Output Practice (VI)
- 杭电ACM 2629: Identity Card
- 杭电 ACM 2013:蟠桃记
- 杭电ACM1087——Super Jumping! Jumping! Jumping!
- ACM杭电的AC回顾——2026
- acm杭电HDU5245 Joyful 概率问题 期望值(2015上海邀请赛)
- 杭电ACM 1002题
- 杭电ACM 2016: 数据的交换输出