
算法竞赛入门经典_第六章数据结构基础
黑猫爱白猫
这个作者很懒,什么都没留下…
展开
-
UVA 442 - Matrix Chain Multiplication
题目链接:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=383 题目大意:矩阵链乘,学过线性代数应该都知道。 分析:利用栈,每次遇到字母就加入到栈中,每次遇到)就把栈顶开始的两个元素拿出来计算,然后再加入到栈中,因为输入的括号肯定是匹配的,所以根本就原创 2017-09-30 19:40:07 · 262 阅读 · 0 评论 -
UVA 673 - Parentheses Balance
题目大意:括号的匹配。 分析:利用栈模拟一边,如果是左括号就加入栈,如果是右括号,就检验与栈顶元素是否匹配。需要注意的是:当遇到右括号时要判断栈是否为空,如果栈为空,就直接跳出;还有当遇到只有\0的情况,需要输出Yes,所以不能用scanf,要用gets输入。 ac代码 #include #include #include using namespace std; char str[13原创 2017-10-01 11:03:56 · 181 阅读 · 0 评论 -
UVA 439 - Knight Moves
题目链接:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=380 题目大意:马走日子形,给出起点和终点,输出最小步数。 分析:bfs,水过。 ac代码 #include #include #include using namespace std;原创 2017-10-12 22:22:33 · 159 阅读 · 0 评论 -
UVA 572 - Oil Deposits
题目链接: 题目大意:给出了一块油田矩阵,‘ * ’代表空地,‘ @ ’代表油块,求该矩阵中油块的种类数量,连通的油块算一类,连通的意思是相邻或者对角线。 分析:dfs, 水过。 ac代码 #include #define Max 105 char maze[Max][Max]; int n, m; int count; void dfs(int x, int原创 2017-10-14 12:08:07 · 178 阅读 · 0 评论 -
UVA 1600 - Patrol Robot
题目链接: 题目大意:机器人从一个m*n的j(1,1) 分析:原创 2017-10-14 12:13:06 · 238 阅读 · 0 评论