摘要: 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1050首先要注意,对门的两个房间不能同时移桌子。我们读入房间号时,要对房间号做处理(比如令房间号=(房间号-1)/2),使得对门的两个房间的编号相同,方便处理。其次,本题我给出两种解法。解法一的思想是,将一次从from->to的移动看成一个线段,n次移动可以看成n条线段。将这n条线段画在数轴上,则最少需要移动的次数,等于线段重叠(两条线段至少包含相同的一点算作重合)的最大层数。这种解法似乎没有包含典型的贪心思想,至少我的愚见是这样。这种解法可以用数学归纳法证明。解法二的思想是,先对所有移动(f 阅读全文
posted @ 2012-08-22 22:59 peaceful 阅读(597) 评论(1) 推荐(0)
摘要: 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1057这题首先考查理解题意,我把要点总结一下。有20*20的菌落(即总共有400个格子的菌落),每个小格内菌落的数量用0~3四个等级描述。假设K为某个菌落,及其上下左右四个菌落的数量之和。每过一天,每个格子内的菌落的数量的变化等于DNA[K]。每个格子内的菌落的数量永远在0~3之间。#include <algorithm>#include <iostream>using namespace std;const int SIZE = 20;const int DNALEN = 阅读全文
posted @ 2012-08-22 22:06 peaceful 阅读(219) 评论(0) 推荐(0)