摘要:
题目描述: 机器人从一个$m\times n$网格的左上角$(1,1)$走到右下角$(m,n)$。网格中的一些格子是空地,用$0$表示,其他格子是障碍,用$1$表示。机器人每次可以往四个方向走一格,但不能连续地穿越$k$个障碍,求最短路的长度。起点和中点保证是空地。 思路: 还是BFS求最短路,但是 阅读全文
摘要:
Uva 1595对称轴 题目描述: 给出平面上N个点,问是否可以找到一条竖线,使得所有点左右对称。 思路: 这个题我的思路是将所有高度(y)相同的点求每组高度的坐标x的平均值,如果总个数N是偶数,那么只要每组高度的x平均值相同,就能找到一个对称轴,而N是奇数,则需要平均值相同的基础上找出所有点的坐标 阅读全文
摘要:
Uva 712 S树 题目描述: 给出一棵满二叉树,每一层代表一个01变量,取0时往左走,取1时往右走。每层用一个变量$x_i$表示,那么这棵树可以等价于若干$x_i$之间的位运算,给出所有叶子节点的值以及一些查询($x_i$的值),求每个查询到达的叶子节点的值。 题目链接:https://vjud 阅读全文
摘要:
Uva 673平衡的括号 题目描述: 思路: 就是普通的括号匹配问题,用栈来模拟操作。需要注意的地方是,有输入为空的情况,所以不要用 来读取,而是用 。 代码: cpp include include include include using namespace std; int main() { 阅读全文
摘要:
题目: 给定一个二叉树,返回其按层次遍历的节点值。 (即逐层地,从左到右访问所有节点)。 例如: 给定二叉树: [3,9,20,null,null,15,7], 返回其层次遍历结果: 思路: 就是树的BFS,因为输出要求是将每层分别输出,所以取 ,然后每层执行n次操作,就能将每层答案分别存入。 代码 阅读全文
摘要:
题目描述: 给出一个按字母序排列的单词列表,找到其中存在的复合词。复合词的定义是由单词列表中其他的两个单词拼接而成。所有单词均为小写。 思路: 如果直接两层遍历所有的单词组合,看他们加在一起是否是单词列表中的一个,在输入如此大的情况下,肯定会超时。我的做法是,定义 ,将单词按首字母分别存放在 里,对 阅读全文
摘要:
定义 类似于map,multimap也是存储两个元素之间的映射关系的容器,不相同的是,multimap的key值可以重复出现。另外和map、set一样,multimap的关键字类型也要具有严格弱序的定义。(补:通常不对关联容器使用泛型算法 ) 初始化 创建空的容器: 从一个范围构造: 复制构造: 添 阅读全文
摘要:
题目描述:题目很长,就贴一下题目连接吧=_=。。https://vjudge.net/problem/UVA-1103 大意是输入一个H行W列的字符矩阵(H<=200, W<=50)。每个字符为4个相邻像素点的十六进制(即10011100对应的是9c),这样可以得到一副图片,然后找出图片中包含的题目 阅读全文
摘要:
题目描述:题目大意是有n个学生想交换到其他学校学习,规定每一个想从A交换到B的学生必须有一个想从B到A的学生与之配对,才能进行交换。最后如果每个人都能找到配对的学生,那么交换可以进行,输出YES,反之输出NO。 思路: 1. 因为从A到B的学生可以有多个,以及也可以有从A到C的情况,所以不能用map 阅读全文
摘要:
优先级队列(priority_queue)是一种容器适配器(container adaptor)。它要求容器具有front、push_back、pop_back等操作,并且容器具有随机访问的能力,故优先队列可以基于vector或者deque构造。 queue和prioruty_queue都被定义在q 阅读全文