摘要: http://acm.hdu.edu.cn/showproblem.php?pid=1385题意: 输入一个N*N的矩阵,(x,y)代表城市x到城市y所花费的钱,后面有一行b1,b2......bn代表经过城市n所需的费用,后面是几组问题(a,b)也就是要你计算出a到b的最少花费的费用(a、b不收费),并且要输出路径。坑爹: 要求输出最小的那一组解 ,也就是说当 1-2-3-4 和1-5-3-4花费的费用是相同的时候要输出1-2-3-4。解法: 路径用一个path数组,初始化将path[i][j] = j ,在Floyd中只要满足map[i][j] > map[i][k] + map[k 阅读全文
posted @ 2012-09-04 16:10 pc.... 阅读(167) 评论(0) 推荐(0)
摘要: http://acm.hdu.edu.cn/showproblem.php?pid=1272题意: 要你判断是不是一个迷宫,条件是每两个点之间只能有一条边相连。坑爹: 判断有无回路。解法: 输入的时候判断这两个点的father值相不相等,如果相等的话就代表原来这两个点就是想通的,如果在进行Union的话就会出现环。View Code 1 #include<iostream> 2 using namespace std; 3 4 const int MAXN = 100000 + 10 ; 5 int flag[MAXN]; 6 int father[MAXN]; 7 ... 阅读全文
posted @ 2012-09-03 20:29 pc.... 阅读(138) 评论(0) 推荐(0)
摘要: http://acm.hdu.edu.cn/showproblem.php?pid=1142题意: Jimmy在位置 1 ,每天晚上要回位置2(家),计算1到2的最短距离,Jimmy要先去一个地方然后再回家,到了那个地方离家的距离不能大于1到2的最短距离,计算出有多少种这样的走法。坑爹: 当用DFS搜索有多少条路径时会超时。解法: 剪枝:用mark数组记录上一次走到这一个点在往下走有多少条路径时符合条件的。View Code 1 #include<iostream> 2 using namespace std; 3 4 const int MAXN = 1000 + 10 ; 5 阅读全文
posted @ 2012-09-03 20:13 pc.... 阅读(165) 评论(0) 推荐(0)
摘要: http://acm.hdu.edu.cn/showproblem.php?pid=1518题意: 给出M根棍子,要将所有棍子用上,拼成一个正方形。坑爹: 用深搜时递归容易超时。解法: 剪枝:用一个pos来记录当前搜索到的位置,当下次继续加一个棍子时从pos位置开始,因为前面的可以加的都已经标记过了,而每递归一次都要从头开始搜索,浪费了很多时间。View Code 1 #include<iostream> 2 using namespace std; 3 4 const int maxn = 20 + 10; 5 int num[maxn]; 6 bool used[maxn]; 阅读全文
posted @ 2012-09-03 19:56 pc.... 阅读(237) 评论(0) 推荐(0)
摘要: http://acm.hdu.edu.cn/showproblem.php?pid=1372题意: 一个8*8的正方形棋盘,行用a-h标记,列用1-8标记。 给定两个坐标,要求你从一个坐标到另一个坐标的最小步数。 移动和象棋中的马一样,走 “日” 字。坑爹: 英文太难了,半天不知道走 “日” 字 ,真是我日啊。解法: 广搜八个方向。View Code 1 #include<iostream> 2 #include<queue> 3 using namespace std; 4 5 int map[8][2]={{2,1},{2,-1},{1,-2},{1,2},{-1, 阅读全文
posted @ 2012-09-03 19:47 pc.... 阅读(175) 评论(0) 推荐(0)
摘要: http://acm.hdu.edu.cn/showproblem.php?pid=2473题意: N是 标号为 0~(N-1)的邮件 M是有M行数据。 第二行开始为数据 当输入为M时之后跟着的两个编号表示这两封邮件都为一种垃圾邮件。当输入为S时跟着的一个标号表示这封邮件被误判,这不是封垃圾邮件,而之前与这封邮件同时被判为垃圾邮件的那封邮件还是垃圾邮件。输出为有多少种邮件(垃圾邮件也分很多种)。坑爹: 1.当要将一封垃圾邮件变为普通邮件时,如果在这个垃圾邮件的树中作为根的话,那么变为普通邮件时要将剩余的垃圾邮件重新合并起来。 2.当要搜索有多少个集合(邮件种类)的时候要查找 fathe... 阅读全文
posted @ 2012-09-03 19:37 pc.... 阅读(246) 评论(0) 推荐(0)