博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
HDU1050 Moving tables
阅读量:5922 次
发布时间:2019-06-19

本文共 871 字,大约阅读时间需要 2 分钟。

题目大意:在一个长走廊里面搬桌子。走廊的两側都是房间,把桌子从一个房间搬到还有一个房间,走廊的宽度每次仅仅同意搬一个桌子。每次搬桌子须要10分钟,问最少多长时间办完。

输入:第一个数t代表測试用例,接下里是n,表示要搬的桌子的总数,接着n行代表每一个桌子从房间i搬到房间j

输出:最少须要的时间

解题思路:

        首先考虑。给出的每次须要搬的房间号,实际情况中是可能从大的房间号往房间号小的房间搬,因此,在读入数据时刻同一时候做一个方便接下来的处理的操作,就是保证每次都是从房间号小的朝着大的搬,结果是一样的(由于对于占用走廊的情况是同样的)

        还有一方面,能够想到通过进行某种处理来标示这段走廊已被占用。通过累加这样的走廊的重叠占用情况。来得到最大的重叠数。因为1-400个房间是在走廊两側双向分布的,所以房间1和房间2是公用的同一段走廊,因此在累积标识的时候能够採用一个count[205]数组。

代码例如以下:

# include 
# include
using namespace std;int main(){ //freopen("input.txt","r",stdin); int t; scanf("%d",&t); while(t--) { int n,time; scanf("%d",&n); int count[205]; memset(count,0,sizeof(count)); int i,j,x,y,s,e; for(i=1;i<=n;i++) { scanf("%d%d",&x,&y); if(x>y) { int temp; temp=x; x=y; y=temp; } s=(x+1)/2; e=(y+1)/2; for(j=s;j<=e;j++) { count[j]++; } } int maxc=0; for(i=1;i<201;i++) { if(maxc

转载地址:http://rcivx.baihongyu.com/

你可能感兴趣的文章
康师傅
查看>>
Tokumx 安装指南(做法如同MongoDB)
查看>>
前端收集
查看>>
Unity3D研究院之IOS本地消息通知LocalNotification的使用(六十七)
查看>>
Android判断App是否在前台运行(转)
查看>>
【原】MyEclipse8.5集成Tomcat7时启动错误:Exception in thread “main” java.lang.NoClassDefFoundError...
查看>>
指针数组/数组指针
查看>>
JAVA 的wait(), notify()与synchronized同步机制
查看>>
图的连通性问题专题整理
查看>>
MVC利用MvcHtmlString在后台生成HTML
查看>>
理财一年原创工具
查看>>
美国国内最大的招聘网站(转)
查看>>
初学Struts2
查看>>
【LeetCode】134. Gas Station
查看>>
ZooKeeper学习第六期---ZooKeeper机制架构
查看>>
浅谈Service Manager成为Android进程间通信(IPC)机制Binder守护进程之路
查看>>
ibatis参数传递小技巧 - 疯狂的菠菜 - ITeye技术网站
查看>>
Servlet后续的尾(yi)巴--------Filter过滤器
查看>>
UVa 1585 - Score
查看>>
应用Druid监控SQL语句的执行情况--转载
查看>>