2014年3月21日

大数

摘要: // 先将十个数字的21次方手动计算出来,存入初始数组中// 枚举各个数字所有可能情况 //可能的情况:每个数字个数之和为不超过21且加和正好为21 // 对于每一种情况计算加和// 判断: // 所得加和是否为21位数 // 各个数字个数是否对应相等// 对最终的答案数组按从小到大排序,然后顺序输出 /* * 总结: * 1.调试技巧:分块测试,逐块测试,黑盒测试(只能保证大部分对,不能保证个别细节对,适用于没有什么特殊点的程序的测试) * 2.写程序首先要思路清晰,如本次就写出来描述了,但还有点心急,细节没有仔细考虑周全就写,这样会导致调试时间的耗费,得不偿失,要知道我写程序写了1... 阅读全文

posted @ 2014-03-21 23:57 Gddxz 阅读(217) 评论(0) 推荐(0) 编辑

方格广搜

摘要: // 21:45// 1、初始状态:3 * 3数组 // 数据结构;结构体{3*3数组,0的位置},queue,map,// 方向数组 // 2、过程:广度优先搜索(超时,改为双向广度优先搜索搜索量由40000多降为5000多),每次从队列中取下一个节点访问并进行扩展。每次像上下左右四个方向试探,若未访问,则加入待访问队列 // 扩展:注意判断是否越界 // 访问标记:map容器来记录走过的标记(相当于一维中的vis[])// 3、结束:队列为空结束 #include #include #include #in... 阅读全文

posted @ 2014-03-21 23:55 Gddxz 阅读(172) 评论(0) 推荐(0) 编辑

关键路径

摘要: /* 程序:求关节点(无向图) * 分析: * 一个low数组,low[u] = min(low[v] | v in n) * 若low[v] >= low[u],则u是关节点 * 步骤: * 1.初始状态:一个无向图 * 1,数据结构:vector邻接表,vis数组,low数组,count序号全局变量 * 2,初始化: * 2.过程: * 1,判断根节点是否是关节点 1,若生成树的根节点有两可或两颗以上的子树,则此根节... 阅读全文

posted @ 2014-03-21 23:51 Gddxz 阅读(188) 评论(0) 推荐(0) 编辑

二叉排序树

摘要: 1 #include 2 #include 3 #include 4 using namespace std; 5 6 typedef struct Node { 7 int data; 8 int num; 9 struct Node *l, *r;10 } Node, *BSTree;11 12 int count;13 14 // 二叉排序树 15 void InsertBST(BSTree &T, int data)16 {17 if (!T) {18 T = (BSTree)malloc(sizeof(Node));19 ... 阅读全文

posted @ 2014-03-21 23:42 Gddxz 阅读(151) 评论(0) 推荐(0) 编辑

导航