Loading

摘要: 巡逻机器人(Patrol Robot, ACM/ICPC Hanoi 2006, UVa1600) 机器人要从一个m*n(1≤m,n≤20)网格的左上角(1,1)走到右下角(m,n)。网格中的一些格子是空地(用0表示),其他格子是障碍(用1表示)。机器人每次可以往4个方向走一格,但不能连续地穿越k( 阅读全文
posted @ 2020-11-17 17:56 yudoge 阅读(136) 评论(0) 推荐(0) 编辑
摘要: 理想路径(Ideal Path, NEERC 2010, UVa1599) 给一个n个点m条边$(2≤n≤100000,1≤m≤200000)$的无向图,每条边上都涂有一种颜色。求从结点1到结点n的一条路径,使得经过的边数尽量少,在此前提下,经过边的颜色序列的字典序最小。一对结点间可能有多条边,一条 阅读全文
posted @ 2020-11-15 20:19 yudoge 阅读(154) 评论(0) 推荐(0) 编辑
摘要: 给定n种正方形,每种正方形有4条边,每条边有2个字符构成,包含以下两种模式: 第一个为A-Z的大写字母,第二个为+/-,如A+或Z- 00 当两条边的第一个字符相同,而第二个字符相反时,两边可相连,00不可与任何边相连。 现假设每种正方形无限供应,并且可以随意旋转和翻转,问是否存在无限拼接图像? 下 阅读全文
posted @ 2020-11-13 19:07 yudoge 阅读(109) 评论(0) 推荐(0) 编辑
摘要: 有时我们需要处理的数据是连续的,比如时间,距离,坐标等等。这时需要用到离散化。 比如给你个二维坐标轴,500*500,给你一堆建筑物的实数型的坐标,让你求一些东西。坐标轴上的点是无穷的,计算机没法表示,所以我们不如把重心放在这些已有的建筑物坐标上而不是整个坐标轴,因为这些数据是有限且离散的。 城市正 阅读全文
posted @ 2020-11-13 18:48 yudoge 阅读(234) 评论(0) 推荐(0) 编辑
摘要: 七桥问题 看上面的无向图,七桥问题就是存不存在一条道路,能够完整地不重复的走完这些边。 欧拉回路和欧拉路径 欧拉路径就是满足上面问题的一个通路,如果这个通路还是一个回路,称为欧拉回路。 首先,不管图是什么样的,要满足欧拉回路,首先图得是连通图,这是基本条件,本篇默认所有图都是连通的,包括应用题中的输 阅读全文
posted @ 2020-11-09 20:35 yudoge 阅读(488) 评论(0) 推荐(0) 编辑
摘要: 输入一个m行n列的字符矩阵,统计字符“@”组成多少个八连块。如果两个字符“@”所在的格子相邻(横、竖或者对角线方向),就说它们属于同一个八连块。例如,下面的示例中有两个八连块。 ****@ *@@*@ *@**@ @@@*@ @@**@ 说的挺不好理解的,其实就是找图中有几个连通分量,这图里右两个。 阅读全文
posted @ 2020-11-08 13:49 yudoge 阅读(125) 评论(0) 推荐(0) 编辑
摘要: 有一个最多包含9*9个交叉点的迷宫。输入起点、离开起点时的朝向和终点,求一条最短路(多解时任意输出一个即可)。 这个迷宫的特殊之处在于:进入一个交叉点的方向(用NEWS这4个字母分别表示北东西南,即上右左下)不同,允许出去的方向也不同。例如,1 2 WLF NR ER *表示交叉点(1,2)(上数第 阅读全文
posted @ 2020-11-08 13:44 yudoge 阅读(148) 评论(0) 推荐(0) 编辑
摘要: 题目描述 设F是一个森林,B是由F转换得到的二叉树,F中有n个非终端节点,则B中右指针域为空的节点有______个? 答案是n+1 思路 首先F是一个森林,未规定森林中树的度,就是里面可能有任意叉的树。 要把森林转换成二叉树,首先得把森林中的树一个一个转换成左子右兄弟表示的二叉树,再把它们接到一起。 阅读全文
posted @ 2020-11-07 12:14 yudoge 阅读(664) 评论(0) 推荐(0) 编辑
摘要: 移动盒子 问题描述: 有一棵二叉树,最大深度为D,且所有叶子的深度都相同。所有结点从上到下从左到右编号为1, 2, 3,…, 2D-1。在结点1处放一个小球,它会往下落。每个内结点上都有一个开关,初始全部关闭,当每次有小球落到一个开关上时,状态都会改变。当小球到达一个内结点时,如果该结点上的开关关闭 阅读全文
posted @ 2020-11-05 14:54 yudoge 阅读(145) 评论(0) 推荐(0) 编辑
摘要: 问题描述 你有一行盒子,从左到右依次编号为1, 2, 3,…, n。可以执行以下4种指令: X Y表示把盒子X移动到盒子Y左边(如果X已经在Y的左边则忽略此指令)。 X Y表示把盒子X移动到盒子Y右边(如果X已经在Y的右边则忽略此指令)。 X Y表示交换盒子X和Y的位置。 表示反转整条链。 指令保证 阅读全文
posted @ 2020-11-04 20:31 yudoge 阅读(121) 评论(0) 推荐(0) 编辑