dfs
gq97
这个作者很懒,什么都没留下…
展开
-
Poj1979【dfs】java题解
简单的dfs问题,适合dfs入门,另外这题也有点像uva10006,附上AC代码。代码:import java.util.Scanner;public class Main { static char[][] pic; static int cnt; static int v; static int h; static int[] dir1 ={-1,0,0,1}; sta原创 2018-02-07 17:45:26 · 308 阅读 · 0 评论 -
PAT Advanced 1003 【Emergency】 (25)
分析:由于博主水平太菜打算二刷PAT,然而还是一个bug能调一天系列。。画重点审题很重要啊,要求输出有最多救援队员的最短路径(因为之前做过有、印象没理解清题意以为是输出所有最短路径上的总救援人数。。)。And初始化无穷大时,memset可以用0x3f3f3f3f,不能用0x3fffffff,或者直接用fill也行。const int maxn = 510;const int inf = 0...原创 2018-08-06 23:32:36 · 193 阅读 · 0 评论 -
PAT甲级1135 【Is It A Red-Black Tree】(30)
2019.2.18更新:过了小半年连红黑树的基础是BST树都忘了。。即已知BST树的先序遍历可以重建这颗树。重建树记得加上引用&判断条件包括:1. 根结点是黑的2. 红结点的孩子是黑的3. For each node, all simple paths from the node to descendant leaves contain the same number of...原创 2018-07-21 21:36:20 · 276 阅读 · 0 评论 -
PAT甲级1130 【Infix Expression】(30)
分析:分别递归root的左子树和右子树,判断当前结点是否是叶子结点(为操作数),如果是直接输出,否则递归其左子树和右子树。#include<stdio.h>#include<string.h>typedef struct Tree{ char data[11]; int l, r;}Tree;Tree tree[30];int vis[30];int...原创 2018-07-21 11:35:07 · 154 阅读 · 0 评论 -
PAT甲级1111 【Online Map】 (30)
补充:2018.8.25更新,写这种题一定要静心,否则小bug会不经意间不断出现,再写一遍代码行居然和上次一样,不过方法略有差别。#include<iostream>#include<cstdio>#include<vector> #include<cstring>using namespace std;const int maxn ...原创 2018-07-17 11:48:27 · 310 阅读 · 0 评论 -
蓝桥杯 【六角填数】 全排列+dfs
如图【1.png】所示六角形中,填入1~12的数字。 使得每条直线上的数字之和都相同。 图中,已经替你填好了3个数字,请你计算星号位置所代表的数字是多少? 请通过浏览器提交答案,不要填写多余的内容。分析:一开始想爆破的,后来仔细看了下,未知量个数比等式多,因此此路不通。。这时爆破不了的就要用上我们万能的dfs了,我们已知未知量的值是哪几个,因此就是怎么排列组合搞出满足条件...原创 2018-03-22 11:22:25 · 534 阅读 · 0 评论 -
蓝桥杯【兰顿蚂蚁】 dfs
兰顿蚂蚁,是于1986年,由克里斯·兰顿提出来的,属于细胞自动机的一种。 平面上的正方形格子被填上黑色或白色。在其中一格正方形内有一只“蚂蚁”。 蚂蚁的头部朝向为:上下左右其中一方。 蚂蚁的移动规则十分简单: 若蚂蚁在黑格,右转90度,将该格改为白格,并向前移一格; 若蚂蚁在白格,左转90度,将该格改为黑格,并向前移一格。 规则虽然简单,蚂蚁的行为却十分...原创 2018-03-20 22:14:19 · 380 阅读 · 0 评论 -
PAT甲级1068【Find More Coins】 dfs
先挂上题目链接~https://www.patest.cn/contests/pat-a-practise/1068分析:给定多少钱,问能不能通过已有的硬币组合凑成该整数,如果可以,输出硬币字典序最小的组合;否则输出”No Solution“。此类组合问题我们当然是想到万能的搜索~推荐dfs,个人用的比较习惯。注意事项如下:1、找字典序最小的一种思路是将硬币按面值大小升序排序,这样我们df...原创 2018-03-08 21:39:55 · 579 阅读 · 4 评论 -
蓝桥杯【大臣的旅费】 两次dfs Java题解
首先挂上题目链接~http://lx.lanqiao.cn/problem.page?gpid=T32分析:题目是求所有结点中某两个结点之间的距离最大值,这其中有个定理:先用dfs求出某个结点到其他结点的距离最大值,并保存那个结点。然后以那个结点为起点再一次dfs就能求出距离最大值了。(我不会证明,只会这么用,逃~代码:import java.io.BufferedReader;import ...原创 2018-03-08 10:46:27 · 468 阅读 · 2 评论 -
PAT甲级1018【Public Bike Management】 dfs
先附上题目链接~https://www.patest.cn/contests/pat-a-practise/1018分析:求0点到sp点的最短距离,在此基础上要求从0点调出去调节的车辆最少,并且调回的车辆也最少。有几个坑点:比如调整是一次完成的,不能用经过后面站的车辆去补前面缺失的车,因此前面缺少的车只能靠更前面剩下的车去补。由上,dfs遍历所有经过的站,每次更新当前所剩的车和缺少的车,更新操...原创 2018-03-06 22:25:22 · 751 阅读 · 1 评论 -
PAT Advanced 1087 【All Roads Lead to Rome】 (30)
分析:利用map将string与int互相映射,再用Dijkstra+Dfs,注意路径不唯一的时候先取最大happiness,再取经过的城市更少的那条。#include<iostream>#include<cstdio>#include<algorithm>#include<vector>#include<map>#inc...原创 2018-08-23 22:22:15 · 185 阅读 · 0 评论