![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
+紫书-数据结构基础
「已注销」
zhangzhang
展开
-
(二叉树建树 先序遍历)UVA_122 Trees on the level
UVA_122 Trees on the level题意让我们构建一棵树,给出每一个节点是从根节点怎么走才能走到. 比如(11,LL)就是根节点的左子树的左子节点的位置权值为11.然后让给出这棵树的先序遍历结果. 如果出现下列情况,输出”not complete” 重复赋值 没有根节点 有节点没有被赋值 给出超过一个节点 解决这个题的输入比较坑啊,刚上来感觉解决不了…原创 2017-08-16 23:19:35 · 291 阅读 · 0 评论 -
UVA_1600 Patrol Robot
题目UVA_1600 Patrol Robot 题意机器人从地图左上角走到地图右下角. 地图上有障碍物,机器人最多可以连续跨越k个障碍物(注意没有要求必须是直线),询问最短路径解决在正常的BFS上面增加一些条件增加vis数组的第三个维度.第三个维度表示在当前位置,已经穿越的障碍物数量为level的情况是否已经被处理注意同一地点,不同level不冲突,比如vis[1][2][2]==1,当访问原创 2017-08-16 07:19:43 · 316 阅读 · 0 评论 -
UVA_439 Knight Moves
UVA_439 Knight Moves 题意给出一个标准的象棋棋盘,给出马的起始位置和目标位置,问最少要跳几次解决我大概是傻了,刚开始还不知道要怎么做…之前做的BFS题移动方向都是”上下左右”或者是”八连通”,一看到”走日字”就转不过弯了(⊙o⊙)…所以这个题就是裸BFS“`java int maps[9][9],dis[9][9]; int dir[8][2]={{2,1},{2,-原创 2017-08-16 07:20:26 · 292 阅读 · 0 评论 -
UVA 514 Rails(模拟|栈)
题目链接题意n个火车进站,给出一个给定的n个火车的出站顺序,问是否可行解决栈模拟,主要分三种情况 1. 一进栈就直接出栈 2. 目标编号和栈顶元素相同,栈顶元素出栈#include<bits/stdc++.h>using namespace std;int main(){ int num[1005]; while(1) { int n;原创 2017-08-30 11:22:38 · 250 阅读 · 0 评论 -
UVA 572 Oil Deposits(DFS)
题目链接题意给出一个m行n列的矩阵,@字符表示油田,油田可以八连通,询问一共有几个八连块解决我想说对于两个月前(2017.07)的我,我也是连这种简单的DFS都不会的人(⊙o⊙)…经过暑期集训会的东西多了好多好多,如果让我一个人学…怕是要完^_^解决就是DFS深搜一下遍历每一个是’@’的点,让ans+1具体可以看下注释^_^#include<bits/stdc++.h>using na原创 2017-09-08 22:14:47 · 236 阅读 · 0 评论 -
UVA 10305 Ordering Tasks(拓扑排序)
[题目链接(https://vjudge.net/problem/UVA-10305)题意n个变量,(u,v)表示u要在v前面,给出所有的(u,v)关系,询问一个合适的排序方案解决典型的拓扑排序具体可以看下代码注释#include<iostream>#include<queue>#include<cstdio>#include<cstring>using namespace std;原创 2017-09-08 22:27:33 · 236 阅读 · 0 评论 -
UVA 839 Not so Mobile(二叉树|DFS)
题目链接题意输入一个树状天平,每一个天平输入“左质量”、“左力臂”、“右质量”、“右力臂” 当力臂为0的时候说明这边是一个子天平,询问是否能够平衡解决递归建树#include<bits/stdc++.h>using namespace std;bool ok;int tree(){ int Wl,Dl,Wr,Dr; scanf("%d%d%d%d",&Wl,&Dl,&Wr原创 2017-09-08 20:49:55 · 291 阅读 · 1 评论 -
UVA 699 The Falling Leaves(二叉树|DFS)
题目链接题意给出一棵二叉树的先序遍历。 每一个节点都有一个水平位置,它的左儿子在它左边一个单位的位置,右儿子在它右边一个单位的位置。 从左到右输出每个位置的节点权值和解决递归建树即可#include<bits/stdc++.h>using namespace std;const int maxn = 1001;int sum[maxn];void build(int val , int原创 2017-09-08 21:23:20 · 251 阅读 · 0 评论