摘要: 讲的大致是几根原本长度相同的木棒,然后被某人当出气筒剪啊剪啊,剪成好几段,然后,好吧,这时间一长记性就差了,忘了原来这堆木棒的长度。。。orz,我这若菜,也只能帮您推算出原来这堆木棒的可能的最短长度了。。。搜索中的经典之经典,必须掌握啊。。。。 1 #include 2 #include 3 #include 4 using namespace std; 5 6 struct stick{ 7 int length; //长度 8 int mark; //标记是否被使用过 9 };10 stick sticks[64];11 int n,num,sum;12 13 int... 阅读全文
posted @ 2013-01-28 16:19 ihge2k 阅读(1012) 评论(0) 推荐(0) 编辑
摘要: hdu 1401 从昨天晚上就在做这道题了,orz,被坑了这么久,原因一直是MLE。。。。欲哭无泪啊,改来改去,还是不能减少内存,后来,我发现其实我太二了,八维数组,我居然用的是int ,orz,难怪MLE,改成char 就不超了。。。哎呀,得长记性了。。。。话说,这是我做的第一道DBFS,其实和BFS本质上还是一样的,就是多了一个判断,不过效率确实高了。。。orz。。。还是直接贴代码了。。。 1 #include<iostream> 2 #include<algorithm> 3 #include<queue> 4 #include<cstring& 阅读全文
posted @ 2013-01-28 11:56 ihge2k 阅读(895) 评论(1) 推荐(0) 编辑
摘要: 一道搜索题,关键是不能有重复的出现。。。 1 #include<iostream> 2 #include<cstdlib> 3 using namespace std; 4 5 int t,n,flag; 6 int num[14],save[14]; 7 8 int cmp(const void *a,const void *b){ 9 return (*(int *)a)>(*(int *)b);10 }11 12 void dfs(int i,int sum,int count){13 if(sum>t)14 return ;15 if(sum... 阅读全文
posted @ 2013-01-27 15:58 ihge2k 阅读(654) 评论(0) 推荐(0) 编辑
摘要: 这个题目我就不说,链接在这里http://acm.hdu.edu.cn/showproblem.php?pid=1254主要我想说的是,一开始是我用2个三围数组来分别标记人和箱子走过的四个方向,但不知怎么回事行不通。。。于是就用一个四维数组来标记状态,嘻嘻,过了。。。好吧,还是直接上代码了。。。。 1 #include<iostream> 2 #include<cstring> 3 #include<queue> 4 5 using namespace std; 6 int visited[8][8][8][8];//记录人和箱子的状态 7 int map[ 阅读全文
posted @ 2013-01-27 14:25 ihge2k 阅读(227) 评论(0) 推荐(0) 编辑
摘要: hdu上的这道题可把我给坑惨了,一直都是runtime error,思想我感觉没错,可惜一直找不到原因。。。。好吧,看的我眼都快花了,直接贴代码了,bfs+位压缩。。。所谓的位压缩就是用一个整数来保存几个事物的有无状态。我们知道每个整数对应一个二进制,二进制就是01串,而0对应的就是无,1对应有,这样几个事物的有无就可以确定一个二进制串,进而可以确定一个整数。故用整数保存几个事物的有无状态。假设已知一个整数m,要判断事物n(n是编号,从1开始)是否存在,可以进行&运算:m&1<<n-1,如果运算结果为0,则n不存在,如果运算结果非0,则n已存在。如果n不存在,要把n 阅读全文
posted @ 2013-01-26 22:33 ihge2k 阅读(418) 评论(5) 推荐(0) 编辑
摘要: 刚刚在网上看了对这个int main(int argc,char *argc[])的详解,主要是以前都是直接建的空项目,好吧,其实一说就很简单, argc是命令行总的参数个数argv[]是argc个参数,其中第0个参数是程序的全名,以后的参数命令行后面跟的用户输入的参数例如:F:/MYDOCU~1/TEMPCODE/D1/DEBUG/D1.EXE aaaa bbb ccc ddd输出如下:F:/MYDOCU~1/TEMPCODE/D1/DEBUG/D1.EXEaaaabbbccc ddd char*argv[]是一个字符数组,其大小是intargc,主要用于命令行参数argv[]参数,数组里每 阅读全文
posted @ 2012-12-27 22:05 ihge2k 阅读(167) 评论(0) 推荐(0) 编辑
摘要: 整理了一下最近做的数据结构上机实习题:【问题描述】 利用哈夫曼编码进行信息通讯可以大大提高信道利用率,缩短信息 传输时间,降低传输成本。但是,这要求在发送端通过一个编码系统对 待传数据预先编码;在接收端将传来的数据进行译码(复原)。对于双 工信道(即可以双向传输信息的信道),每端都需要一个完整的编/译码 系统。试为这样的信息收发站写一个哈夫曼码的编译码系统。【基本要求】 一个完整的系统应具有以下功能: (1)I:初始化(Initialization)。从终端读入字符集大小n,及n个 字符和n个权值,建立哈夫曼树,并将它存于文件hfmtree中。 (2)C:编码(Coding )。利用已建好的哈 阅读全文
posted @ 2012-11-09 18:18 ihge2k 阅读(1635) 评论(1) 推荐(0) 编辑
摘要: 【问题描述】 在一个具有8×8个方格的国际象棋盘上,从棋盘的任何一个方格 开始,让马按照允许的走步规则(L形走法)走遍所有方格,每个方格 至少并且只准走过一次。试设计一个算法实现这个有趣的问题。【基本要求】 将马随机放在棋盘的某个方格中,根据J.C.Warnsdorff提出的规则 来进行遍历。编制非递归程序,求出马的行走路线,输出所走各步的 位置。【测试数据】 由用户自行指定一个马的起始位置(i, j), 0≤i, j≤7。【实现提示】 (1)棋盘用 8×8的二维数组表示。 (2)当马位于位置(i, j)时,可以走到下列8个位置之一:(i-2, j+1), (i-1, j+ 阅读全文
posted @ 2012-10-27 23:36 ihge2k 阅读(4841) 评论(0) 推荐(1) 编辑
摘要: 整理了一下最近做的数据结构实习作业【问题描述】 设停车场是一个可停放n辆汽车的狭长通道,且只有一个大门可供 汽车进出。汽车在停车场内按车辆到达时间的先后顺序,依次由北向 南排列(大门在最南端),若停车场内已停满n辆汽车,则后来的汽车 只能在门外的便道上等候,一旦有车开走,则排在便道上的第一辆车即 可开入;当停车场内某辆车要离开时,在它之后进入的车辆必须先退出 车场为它让路,待该辆车开出大门外,其他车辆再按原次序进入车场, 每辆停放在车场的车在它离开停车场时必须按它停留的时间长短交纳费 用。试为停车场编制按上述要求进行管理的模拟程序。【基本要求】 以栈模拟停车场,以队列模拟车场外的便道。栈以顺序 阅读全文
posted @ 2012-10-27 23:30 ihge2k 阅读(742) 评论(0) 推荐(0) 编辑
摘要: 大概意思是说如果一个数的所有素因子只有2、3、5,那么就称这个数为丑数(包含1)例如1、2、3、4、5、6、8、9、10、12、、、一开始就TEL:其实估计到了,但还是想试一下呀,oh 1 #include 2 #include 3 #include 4 #include 5 using namespace std; 6 int main() 7 { 8 int n; 9 while(cin>>n&&n!=0)10 {11 if(n==1)cout 2 #include 3 #include 4 using namespace std; 5 const ... 阅读全文
posted @ 2012-07-16 23:40 ihge2k 阅读(264) 评论(0) 推荐(0) 编辑