随笔分类 -  UvaOJ

Problems from UvaOJ and mostly recommended by Rujia Liliu; Thanks a lot for Rujia Liu
摘要:大致题意:用{ key:value, key:value, key:value }的形式表示一个字典key表示建,在一个字典内没有重复,value则可能重复 题目输入两个字典,如{a:3,b:4,c:10,f:16} {a:3,c:5,d:10,ee:4} 于新字典相比,找出旧字典的不同... 阅读全文
posted @ 2015-06-27 15:45 Emerald 阅读(370) 评论(0) 推荐(0)
摘要:题意:输入一棵树的的前序遍历结果,以及中序遍历结果,求此树的后续遍历结果。思路:因为在后续遍历中,先访问左结点,再访问右结点,最后采访问根结点。那么根据前续遍历可以在中序遍历中找到树根,将其分为左右子树,再递归找子树的数根,将其分为左右子树,得到数根的顺序刚好是后续遍历的逆顺序。 如:DBACEG... 阅读全文
posted @ 2015-06-14 13:48 Emerald 阅读(970) 评论(0) 推荐(0)
摘要:题意:判断一个是否是合法的,此式子合法的条件是: 1.空串是合法的 2.如果A和B都是合法的, 那么AB也是合法的 3.如果A是合法的,那么(A)和[A]也是合法的思路: 可以用堆栈的方法,如果读入一个左符号,则压栈,反之,从栈中弹出一个符号,如果是对应的左符号,则继续,如果不能... 阅读全文
posted @ 2015-06-14 13:34 Emerald 阅读(320) 评论(0) 推荐(0)
摘要:思路:可以用DFS求解。遍历这个二维数组,没发现一次未被发现的‘@’,便将其作为起点进行搜索。最后的答案,是这个遍历过程中发现了几次为被发现的‘@’import java.util.*;public class Main{ public static void main(String[] ar... 阅读全文
posted @ 2015-06-01 19:02 Emerald 阅读(362) 评论(0) 推荐(0)
摘要:题意:这是一个类似于树的天平,这个天平的每一端都有可能由一个子天平构成,而每个天平都满足一个公式 WL * DL = WR * DR,其中WL,WR分别代表左边和右边物品的重量,DL,DR分别代表左边和右边物品里天平中心的距离。输入分析:对于每个输入的四个数,如果WL或WR为0时,则代表接下来的输入... 阅读全文
posted @ 2015-05-28 21:57 Emerald 阅读(485) 评论(0) 推荐(0)
摘要:题目输入一些结点,要求建立一颗二叉树,这些结点输入方式方式是(value, pos),value代表一个正int型的数,pos是一个仅由L与R组成的字符串,L代表左子树,R代表右子树,LRR代表root(根结点)的左子树的左子树的右子树的根结点,此结点的值即为value。思路:采用一个map来保存结... 阅读全文
posted @ 2015-05-21 21:36 Emerald 阅读(404) 评论(0) 推荐(0)
摘要:题目意思:有N张牌,标号为1~N,且牌以叠好,从上到小就是标号1~N的牌,只要牌堆数量大于等于2的时候,就采取如下操作:将最上面的牌扔掉(即离开牌堆)。刚才那张牌离开后,再将新的最上面的牌放置于牌堆最后一张。要求输出:依次输出被扔掉的牌,按扔掉的顺序输出。最后要输出最后留下的一张牌。思路:用一个队列... 阅读全文
posted @ 2015-05-06 00:27 Emerald 阅读(257) 评论(0) 推荐(0)
摘要:题目给出一些点的坐标(横坐标,纵坐标),没有重叠的点,求是否存在一条竖线(平行于y轴的线),使线两边的点左右对称。我的思路:对于相同的纵坐标的点,即y值相同的点,可以将x的总和计算出,然后除以点的数目,即可得到对称轴的x坐标。所以,对于不同的y值,可以算出这个y值对应的点的对称轴的x坐标,只要观察这... 阅读全文
posted @ 2015-05-06 00:09 Emerald 阅读(173) 评论(0) 推荐(0)
摘要:这道题所描述的棋就是有些人所称的“黑白棋”可以按照题目的意思“模拟”这道题,“黑白棋”除了水平及树直方向外,还需考虑斜线方向。题目要求的格式中,如样例“Black - 1 White - 4”,数字1和4在输出时应用“ %2d”输出,而不是在数字前加两个空格。#include #include #i... 阅读全文
posted @ 2015-04-22 21:36 Emerald 阅读(671) 评论(0) 推荐(0)
摘要:根据题意首先找出可以当作起始点的点,并用数字作顺序标记。之后从这些起始点开始,向右开始搜寻字母组成单词,直至到边界或到黑块之后依旧从这些起始点开始,向下开始搜寻字母组成单词,直至到边界或到黑块其中注意输出格式如" 1.AT",题目并不是要求在数字前加2个空格,不难发现题目样例输出中有“19.DEA”... 阅读全文
posted @ 2015-04-18 21:23 Emerald 阅读(247) 评论(0) 推荐(0)
摘要:基本上采用了模拟的方法,就是每到一个'O',就开始统计以此为起点的这串连续的'O'能的几分。另外有一些注意的地方写在代码的注释里#include #include #include using namespace std;const int MAXN = 80 + 10;char s[MAXN];/... 阅读全文
posted @ 2015-04-18 14:02 Emerald 阅读(217) 评论(0) 推荐(0)