- 博客(16)
- 资源 (4)
- 收藏
- 关注
原创 POJ 1979 Red and Black 解题报告
《程序设计导引及在线实践》上面有这道题,练习了递归的思想。 #include const int MAX_BRICK_SIZE = 20;/*用来存储方块符号信息*/char bricks[MAX_BRICK_SIZE + 1][MAX_BRICK_SIZE + 1];int W, H;/*递归调用的函数。 *假设以(i, j)为起点,则总的可以经过的黑瓷砖数为: *
2010-12-31 15:49:00 1037 1
原创 百练-2754-八皇后-解题报告
描述会下国际象棋的人都很清楚:皇后可以在横、竖、斜线上不限步数地吃掉其他棋子。如何将8个皇后放在棋盘上(有8 * 8个方格),使它们谁也不能被吃掉!这就是著名的八皇后问题。对于某个满足要求的8皇后的摆放方法,定义一个皇后串a与之对应,即a=b1b2...b8,其中bi为相应摆法中第i行皇后所处的列数。已经知道8皇后问题一共有92组解(即92个不同的皇后串)。给出一个数b,要求输出第
2010-12-31 11:48:00 1735
转载 scanf(), getchar(), 以及gets()函数注意点
----------------------------------------------------| 问题描述一:(分析scanf()和gets()读取字符) |---------------------------------------------------- scanf(), getchar()等都是标准输入函数,一般人都会觉得这几个函数非常简单,没什么特
2010-12-30 11:24:00 2403 2
原创 递归实现合并两个有序链表
Node* mergAction(Node* head1,Node *head2) { Node *p=NULL; if(head1==NULL&&head2==NULL) return p; else if(head1==NULL) return head2; else if(head2==NULL)
2010-12-29 11:08:00 1461
原创 百练-2756-二叉树-解题报告
题目:=================================================================================描述 如上图所示,由正整数1, 2, 3, ...组成了一棵无限大的二叉树。从某一个结点到根结点(编号是1的结点)都有一条唯一的路径,比如从10到根结点的路径是(10, 5, 2, 1),从4到根结点的路径是(4, 2,
2010-12-29 09:56:00 2011
原创 百练-2746-约瑟夫问题
题目如下:=====================================================================================描述 约瑟夫问题:有n只猴子,按顺时针方向围成一圈选大王(编号从1到n),从第1号开始报数,一直数到m,数到m的猴子退出圈外,剩下的猴子再接着从1开始报数。就这样,直到圈内只剩下一只猴子时,这个猴子就是猴王,
2010-12-28 11:52:00 1266
原创 百练-2750-鸡兔同笼
收到了《程序设计导引及在线实践》,便开始做题。第一道题是“鸡兔同笼”,题目如下:=====================================================================================描述 一个笼子里面关了鸡和兔子(鸡有2只脚,兔子有4只脚,没有例外)。已经知道了笼子里面脚的总数a,问笼子里面至少有多少只动物,至多有
2010-12-24 09:55:00 1862
原创 POJ-2159-Ancient Cipher-解题报告
题意是说第一行字符串能否由第二行字符串经过“替代”和“位置转换”后得到。做题时,实际上只统计两个字符串的各字符出现的“次数”是否相同即可(不必计较这相同次数是否字符也相同)。 算法思想如下:1)读入两行字符串;2)分别统计这两行字符串中每个字符出现的次数,并将其结果存在num1[26], num2[26]数组;3)对上述两个数组进行降序排序;4)比较两个数组是否相同:若
2010-12-21 10:54:00 988
原创 POJ-2141-Message Decowding-解题报告
注意运用getline函数来获得一行字符串。 #include #include #include using namespace std;int main(){ string keyStr, msgDecStr, aLine; getline(cin, aLine); keyStr = aLine; const char *key = keySt
2010-12-20 23:43:00 940
原创 POJ 2840 Big Clock 解题报告
若用C++编程,主要实现“根据‘:’分段提取字符串”,并根据字符串转换成相应的数值。 #include #include #include using namespace std;int main(){ int T; cin >> T; string timeStr; string H; string M; for(int i
2010-12-20 22:06:00 1110
原创 POJ 1207 The 3n + 1 problem 解题报告
主要遇到问题:1)开始时不会使用使用:while(scanf("%d%d", &a, &b) == 2)来判断输入是否结束;2)在for循环内,直接使用i变量,而没有用一个变量保存当前所要求cycle length值的数,导致出错;3)被题目“阴”了一下,输入实际上的两个数是有可能“第一个数大于第二个数”的。 解决了以上问题,实际上本题也是一水题。 #include
2010-12-20 16:03:00 1042
原创 POJ 1218 THE DRUNK JAILER解题报告
挺水的一道题,就是给定一大小为n的数组,第一趟令所有监狱为0,表示所有的监狱都打开,接着第二趟令第2,4, 6……个监狱关闭,第三趟令第3,6,9……个监狱关闭,第四趟………一直到第n趟。若在遍历过程中,发觉监狱已经关闭,则令其打开;发觉监狱已经打开,则令关闭。最后再遍历一次数组,求得有几个监狱找打开,以还有几个数组元素为0,输出即可。 代码:#include #define
2010-12-20 13:55:00 1007
原创 POJ 2017 Speed Limit解题报告
很简单的一题,直接上源码。 #include #include #include #define MAX_PAIRS_SIZE 11int pairs[MAX_PAIRS_SIZE][2];int main(int argc, char *argv[]){ pairs[0][0] = 0; pairs[0][1] = 0; while(1) {
2010-12-20 11:40:00 959
原创 POJ-1028-Web Navigation解题心得
这道题是目前为止本人做到的最难的题。这道题只要是练习下stack的使用,另外,对于C++中STL的使用也有一定的涉及。(当然,这些数据结构是可以自己实现的,不过为了节省时间,我直接使用了。) 题意是很容易理解的,就是编程模拟实现浏览器的“前进”,“后退”功能。且题目中已说明了如何使用stack 进行编程,应该不算难的。 解决这道题主要遇到的问题:1)对于当前URL的初始化,“后
2010-12-18 15:18:00 1493
原创 《编程珠玑》第一章读书笔记
记得第一次拿起这本是在06年,那时还是大二呢,呵呵。在图书馆看到了这本书,信手翻了翻,郁闷的是没看懂啊。时隔多年再次拿起这本书,自己有了更好的底子,慢慢看,也可以看懂啦~正如第一章标题所说的,这章是个开题。不过一上来就抛出了个算法设计题,还对时间空间复杂度都有要求。题目是这样的:一个最多包含n个不重复的正整数的文件,每个数都小于107。要求对这些数进行排序,且只有大约1MB的空间可用。
2010-12-16 14:27:00 906
原创 《编程珠玑》读书笔记开场白
在正式写述之前,先说一些闲话。实习期间其实也是看了不少书的,可是几天下来,发觉看过的内容忘记了不少。之前也听说过导师说看了论文就一定要做好笔记,否则很容易忘记的。看来做好读书笔记真的是相当重要啊。在我看来,写笔记至少有两点好处,一是强迫自己总结看过的内容,二是也方便以后阅读重温已学过的知识。何乐而不为呢?前几天买了《编程珠玑》,里面包含了不少有趣的算法问题,听说一些大公司也喜欢用里面的题来
2010-12-16 10:57:00 887
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人