这道题思路还是很简单的:因为要求至少要用多少时间,那么就要求出哪个子走廊要用到的次数最多,重叠次数最多的即所求答案,于是用一个计数器数组flag[]记录经过过房间的次数,最后flag中的最大值既结果。
但是需要注意的有两点,
1.如果开始的房间数是偶数,则要将区间起点-1,如果结束的房间号是奇数,则要将区间终点+1.
2.不一定是从小房间号搬到大房间号,也可能从大房间号搬到小房间号,所以在输入搬桌子的起点终点后,要把小的房间号存在扫描区间起点start中,把大的房间号存在end中。(因为没考虑到这点,贡献了一次wa,又因为交换函数写错地方了,要贡献了一次wa,伤心。。)
代码如下
#include "iostream" using namespace std; #define len 410 int main() { int t; int n; int i; scanf("%d",&t); int flag[len]; int ans; while (t--) { int start,end; scanf("%d",&n); memset(flag,0,sizeof(flag)); ans=0; while(n--) { scanf("%d",&start); scanf("%d",&end); if (start>end) { int t; t=start; start=end; end=t; } if (start%2==0) i=start-1; else i=start; int iend; if (end%2==1) iend=end+1; else iend=end; for (;i<=iend;i++) { flag[i]++; if(flag[i]>ans) ans=flag[i]; } } printf("%d\n",ans*10); } return 0; }
相关推荐
POJ1083的代码,POJ1083的代码,POJ1083的代码
POJ第1861题源码 POJ第1861题源码 POJ第1861题源码
poj部分水题代码描述,为初学者提供一些必要的基础
北大 POJ的水题解答C++版,请合理使用
北大POJ水题整合包 解题报告+AC代码
北大POJ1083-Moving Tables 解题报告+AC代码
poj2009离线题库 poj2009离线题库
POJ水题集-----50道左右-----增加自信啊..
acm pku poj 1000 1001 1002 1003 1201
北京大学在线测评网站POJ第1200题的解答,已经AC通过
我进行挑选的 希望能给你带来方便 也希望你能通过这个有所提高
poj上面的300道AC题,c++源码,自己写的不会有任何问题。
poj训练 c语言poj训练 西工大 poj 100题。
poj2009离线题库 poj2009离线题库
poj水题的部分代码,做的还是比较靠谱的
初学acmer必练题,包括图论,动态规划,和数论的基础题
POJ ACM一些题的代码和总结。还有POJ用到JAVA的简单介绍。
POJ题目源码 共221题 含源码,题目和简单的分类
POJ推荐50题 练练不妨 网上看到就弄了来。
北京大学Online judge 第2251题 POJ2251