07 2013 档案

摘要:题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=4519方法:模拟,如果员工人数小于等于医生人数,则有多少检查项目就需要多少分钟,否则,设有m个医生,则在员工中的前m个的一项先被m个医生并行检查,这样耗去1分钟,然后移动到后m个,依次平移,当后面所剩余的员工不够m时,开始不够的那个员工边重新定位到开始位置,这样,多次迭代,总是最开始检查的员工完成检查,这样前面的员工边不再检查,就要为每次回绕的时候设置新的开始位置,直到开始位置大于员工数量。代码:#include#include#include#include#include using names 阅读全文
posted @ 2013-07-31 16:45 kbyd 阅读(266) 评论(0) 推荐(0) 编辑
摘要:题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=4527方法:模拟,当一滴水滴在一个cell里后,如果不爆就直接给cell的值加1,否则,设置为0,模拟爆炸,再将爆炸一秒后水滴会出现的位置已经当前飞行的方向合成为一个状态结构并记录在一个数组的st到ed段,这里st=1,ed最多为4,因为爆炸一秒后水滴有可能已经飞离棋盘,然后扫面st到ed中的每个状态对应位置p,对p位置的水滴量q,如果q==0,则水滴会按当前方向继续往前飞,则下1秒水滴到达的新位置和与当前方向一样的方向合成为一个新的状态放在ed的后面;如果q!=0,则直接给相应位置的水滴量加1即可 阅读全文
posted @ 2013-07-31 15:12 kbyd 阅读(246) 评论(0) 推荐(0) 编辑
摘要:题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=4524方法:模拟,首先根据题目描述的规则得知,要尽量消除完,必须以来就点最左边的。根据该规律进行模拟,搜先设置一个last代表上一个读入的数据,如果当前读入的数据不是第一个读入的数据那么其一定有个上一个数据last,否则其本身就last并且不再继续处理而是直接读取下一个数据。除第一个读入的数据外的其他数据A都和last比较,如果last>0且last0且last>该数据A,就直接说明消除不完,前面一个一定还有剩余的,由于是从左往右消除的,所以前面一个的前面不再用东西了,所以前面一个一定消 阅读全文
posted @ 2013-07-31 13:39 kbyd 阅读(167) 评论(0) 推荐(0) 编辑
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4522方法:根据列出的信息建立图,图中的边是连接两个城市见的路线(废话),其中加一个信息表示改路线是单独硬座还是硬座卧铺双全。然后从起点开始向终极点广搜。首先起点会有两个状态,做硬座的状态和卧铺的状态,每走到一个点(城市),判断 当前点探寻到的周围目标点是不是可以在当前的搜索上下文中到达的 标准是:如果当前点是坐卧铺来的且当前探寻到目标点的边(路线)可以支持卧铺,且该目标点没有被坐卧铺的方式到达过,则可以走到该目标点进行搜索,如果当前点是坐硬座来的且当前探寻到目标点的边(路线)可以支持硬座,且该目标 阅读全文
posted @ 2013-07-31 11:38 kbyd 阅读(190) 评论(0) 推荐(0) 编辑