ACM—dfs与bfs
文章平均质量分 54
Witness2020
一团漫步的灵魂
展开
-
HDU1015 Safecracker
Problem Description=== Op tech briefing, 2002/11/02 06:42 CST === "The item is locked in a Klein safe behind a painting in the second-floor library. Klein safes are extremely rare; most of them, al...原创 2018-09-19 19:35:59 · 127 阅读 · 0 评论 -
HDU 1175连连看
Problem Description“连连看”相信很多人都玩过。没玩过也没关系,下面我给大家介绍一下游戏规则:在一个棋盘中,放了很多的棋子。如果某两个相同的棋子,可以通过一条线连起来(这条线不能经过其它棋子),而且线的转折次数不超过两次,那么这两个棋子就可以在棋盘上消去。不好意思,由于我以前没有玩过连连看,咨询了同学的意见,连线不能从外面绕过去的,但事实上这是错的。现在已经酿成大祸,就只能将...原创 2018-09-15 19:01:46 · 113 阅读 · 0 评论 -
洛谷1434 滑雪
题目描述Michael喜欢滑雪。这并不奇怪,因为滑雪的确很刺激。可是为了获得速度,滑的区域必须向下倾斜,而且当你滑到坡底,你不得不再次走上坡或者等待升降机来载你。Michael想知道在一个区域中最长的滑坡。区域由一个二维数组给出。数组的每个数字代表点的高度。下面是一个例子:1 2 3 4 516 17 18 19 615 24 25 20 714 23 22 21 813...原创 2018-09-01 20:22:27 · 186 阅读 · 0 评论 -
洛谷1101 单词方阵
题目描述给一nXn的字母方阵,内可能蕴含多个“yizhong”单词。单词在方阵中是沿着同一方向连续摆放的。摆放可沿着8个方向的任一方向,同一单词摆放时不再改变方向,单词与单词之间可以交叉,因此有可能共用字母。输出时,将不是单词的字母用“*”代替,以突出显示单词。例如:输入:8 输出:qyizhong *yizhonggy...原创 2018-09-01 16:43:38 · 165 阅读 · 0 评论 -
使用BFS求最小步数
bfs宽度优先搜索经常用于求最短路径长度,许多的最短路径算法都是基于该思想。迷宫寻宝洪尼玛今天准备去寻宝,在一个n*n (n行, n列)的迷宫中,存在着一个入口、一些墙壁以及一个宝藏。由于迷宫是四连通的,即在迷宫中的一个位置,只能走到与它直接相邻的其他四个位置(上、下、左、右)。现洪尼玛在迷宫的入口处,问他最少需要走几步才能拿到宝藏?若永远无法拿到宝藏,则输出-1。多组测试数据。...原创 2018-07-22 17:39:17 · 1644 阅读 · 0 评论 -
DFS中的奇偶剪枝
什么是奇偶剪枝?比如有一地图:S... .... .... .... ...D 要求从S点到达D点,此时,从S到D的最短距离为s = abs ( dx - sx ) + abs ( dy - sy )。如果地图中出现了不能经过的障碍物:S..X XX.X ...X .XXX ...D 此时的最短距离s' = s + 4,为...原创 2018-07-27 11:28:59 · 167 阅读 · 0 评论 -
洛谷1135 奇怪的电梯
题目描述呵呵,有一天我做了一个梦,梦见了一种很奇怪的电梯。大楼的每一层楼都可以停电梯,而且第 i 层楼 (1≤i≤N) 上有一个数字 Ki(0≤Ki≤N) 。电梯只有四个按钮:开,关,上,下。上下的层数等于当前楼层上的那个数字。当然,如果不能满足要求,相应的按钮就会失灵。例如:3,3,1,2,5 代表了 Ki(K1=3,K2=3,…) ,从 1 楼开始。在 1 楼,按“上”可以到 4...原创 2018-07-26 13:15:19 · 661 阅读 · 0 评论 -
洛谷P1141 01迷宫
题目描述有一个仅由数字 00 与 11 组成的 n \times nn×n 格迷宫。若你位于一格0上,那么你可以移动到相邻 44 格中的某一格 11 上,同样若你位于一格1上,那么你可以移动到相邻 44 格中的某一格 00 上。你的任务是:对于给定的迷宫,询问从某一格开始能移动到多少个格子(包含自身)。输入格式:第 1 行为两个正整数 n,m 。下面 n 行,每行 n 个字符,...原创 2018-07-25 15:10:21 · 301 阅读 · 0 评论 -
八皇后问题——深度优先搜索和回溯
/*P1219 八皇后题目描述检查一个如下的6 x 6的跳棋棋盘,有六个棋子被放置在棋盘上,使得每行、每列有且只有一个,每条对角线(包括两条主对角线的所有平行线)上至多有一个棋子。这只是跳棋放置的一个解。请编一个程序找出所有跳棋放置的解。并把它们以上面的序列方法输出。解按字典顺序排列。请输出前3个解。最后一行是解的总个数。输入输出格式输入格式:一个数字N (6 <= N <= 13) ...原创 2018-03-15 17:14:32 · 1961 阅读 · 0 评论 -
洛谷P1157 组合的输出
题目描述排列与组合是常用的数学方法,其中组合就是从 nn 个元素中抽出 rr 个元素(不分顺序且 r \le n)r≤n) ,我们可以简单地将 nn 个元素理解为自然数 1,2,…,n1,2,…,n ,从中任取 rr 个数。例如 n=5,r=3n=5,r=3 ,所有组合为:12 3 , 1 2 4 , 1 2 5 , 1 3 4 ,1 3 5 , 1 4 5 , 2 3 4 , 2 3...原创 2018-07-24 18:12:37 · 548 阅读 · 0 评论 -
poj1321棋盘问题——DFS
棋盘问题Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 62840 Accepted: 30071 Description在一个给定形状的棋盘(形状可能是不规则的)上面摆放棋子,棋子没有区别。要求摆放时任意的两个棋子不能放在棋盘中的同一行或者同一列,请编程求解对于给定形状和大小的棋...原创 2018-07-10 14:48:21 · 110 阅读 · 0 评论 -
DFS入门题—乘积和问题
深度优先搜索是从某个状态开始不断转移状态过程直至无法继续转移,则回退到上一状态继续重复直至枚举完所有的情况。所谓深度即是开始一通到底,然后通过递归出口回退到上一个状态。给你N个正整数,求出这N个正整数中所有任选K个数相乘后所有乘积的和。#include<iostream>using namespace std;int n, k;int a[100];int RES = 0; ...原创 2018-07-09 17:04:55 · 248 阅读 · 0 评论 -
HDU 1072Nightmare
Problem DescriptionIgnatius had a nightmare last night. He found himself in a labyrinth with a time bomb on him. The labyrinth has an exit, Ignatius should get out of the labyrinth before the bomb e...原创 2018-09-15 12:40:17 · 212 阅读 · 0 评论