摘要: 题意:冰壶比赛,球会沿着直线一直运动下去,碰到阻碍会停下,同时阻碍消失,求最小步数要点:DFS的变种,原本的DFS是一步一步的,现在是沿着直线一直下去,其实差不多,就是把直线看成一步就行。因为可以交错,所以不用设visit数组,同时要用回溯法。因为题目上说超过10步就... 阅读全文
posted @ 2016-02-25 10:22 seasonal 阅读(90) 评论(0) 推荐(0) 编辑
摘要: 题意:普通的迷宫求路径,但这题需要输出三个解:1.沿着左边查找,2.沿着右边查找,3.最短路径要点:最短的简单,直接BFS搞定。沿着左边查找和沿着右边查找其实是一个问题,也即是DFS中先遍历左边还是右边,沿着左边查找就把顺时针查找,如果不成功就向右查找,向右查找一次其... 阅读全文
posted @ 2016-02-23 20:25 seasonal 阅读(82) 评论(0) 推荐(0) 编辑
摘要: 题意:输入一些棋盘对应的行和列,看骑士(日字)能不能走完整个棋盘,可以从任何地方开始,注意要字典序输出要点:虽然说骑士可以从棋盘上任意一点出发,但因为要按字典序(lexicographically)输出,所以当然从A1出发字典序最小,不用担心为什么任意一点变成A1也行... 阅读全文
posted @ 2016-02-23 14:58 seasonal 阅读(68) 评论(0) 推荐(0) 编辑
摘要: 题意:要逃出地牢,地牢是三维的,有上下层之分要点:就是将原本二维的BFS转换为三维的就可以了,求最短距离,这种BFS我还是可以做的15188937Seasonal2251Accepted304K32MSC++1469B2016-02-22 22:10:22#inclu... 阅读全文
posted @ 2016-02-22 22:12 seasonal 阅读(100) 评论(0) 推荐(0) 编辑
摘要: 题意:将一棵多叉树转换成括号表示法要点:用先序遍历直接在二维数组内递归,主要是字符的输入判断比较麻烦,还有如果同时用scanf和gets的话,要把scanf后的换行符除去#include#include#include#include#define maxn 250c... 阅读全文
posted @ 2016-02-22 12:20 seasonal 阅读(100) 评论(0) 推荐(0) 编辑
摘要: 题意:输入一些单词,看是否能将这些单词首尾分别对应相同的排成一个序列要点:欧拉道路,也即是从无向图的一个结点出发走出一条道路,每条边恰好经过一次,俗称一笔画,对于无向图来说:如果一个无向图是连通的(任意一个点出发,通过dfs遍历可得到所以顶点),且最多只有两个度数为奇... 阅读全文
posted @ 2016-02-20 22:13 seasonal 阅读(113) 评论(0) 推荐(0) 编辑
摘要: 题意:字符拓扑排序,有三种可能的输出情况:1.有环直接输出不能确定2.如果所有的行都读入还是不能确定而且没有环3.没有环而且没有多种情况(入度为0的点只有一个)就可以确定顺序要点:这题还是挺难的,主要是考察了拓扑排序的几种情况:1、可以判断 2、有环出现了矛盾 3、条... 阅读全文
posted @ 2016-02-19 12:36 seasonal 阅读(110) 评论(0) 推荐(0) 编辑
摘要: 题意:就是最简单的拓扑排序,裸题要点:裸题,直接模板一套就行15174030Seasonal2367Accepted188K0MSC++734B2016-02-18 17:08:31#include#include#includeint c[150],topo[150... 阅读全文
posted @ 2016-02-18 17:15 seasonal 阅读(100) 评论(0) 推荐(0) 编辑
摘要: 题意:看白书要点:1.拓扑排序:将一个图上的所有结点排序,使得每一条有向边(u,v)对应的u都排在v后面。注意只有有向无环图(DAG)才有拓扑排序2.利用dfs先将最深的赋值给数组中最后一个位置,相同深度的就随便排了,因为只输出一种,所以答案跟题目中给的可以不一样3.... 阅读全文
posted @ 2016-02-18 10:12 seasonal 阅读(75) 评论(0) 推荐(0) 编辑
摘要: 题意:输出字符串中字符的所有排列方式要点:回溯法可以将每种情况遍历一遍(注意跳过连续的相同的字符),重点在于排序,先排序再回溯可以保证输出按照字典序,但这题的排序不太一样:'A'#include#includechar str[15], out[15];bool id... 阅读全文
posted @ 2016-02-17 21:44 seasonal 阅读(127) 评论(0) 推荐(0) 编辑