搜索(DFS+BFS)
文章平均质量分 57
搜索(DFS+BFS)
爱编程的大李子
路漫漫其修远兮,吾将上下而求索
展开
-
牛客锦标赛
题目描述组委会正在为美团点评CodeM大赛的决赛设计新赛制。比赛有 n 个人参加(其中 n 为2的幂),每个参赛者根据资格赛和预赛、复赛的成绩,会有不同的积分。比赛采取锦标赛赛制,分轮次进行,设某一轮有 m 个人参加,那么参赛者会被分为 m/2 组,每组恰好 2 人,m/2 组的人分别厮杀。我们假定积分高的人肯定获胜,若积分一样,则随机产生获胜者。获胜者获得参加下一轮的资格,输的人被淘汰。重复这个过程,直至决出冠军。现在请问,参赛者小美最多可以活到第几轮(初始为第0轮)?输入描述:第一行一个整数原创 2021-10-01 14:26:55 · 266 阅读 · 0 评论 -
牛客--走出迷宫
题目描述小明现在在玩一个游戏,游戏来到了教学关卡,迷宫是一个N*M的矩阵。小明的起点在地图中用“S”来表示,终点用“E”来表示,障碍物用“#”来表示,空地用“.”来表示。障碍物不能通过。小明如果现在在点(x,y)处,那么下一步只能走到相邻的四个格子中的某一个:(x+1,y),(x-1,y),(x,y+1),(x,y-1);小明想要知道,现在他能否从起点走到终点。输入描述:本题包含多组数据。每组数据先输入两个数字N,M接下来N行,每行M个字符,表示地图的状态。数据范围:2<=N,M&原创 2021-10-01 14:18:30 · 415 阅读 · 0 评论 -
POJ1077
DescriptionThe 15-puzzle has been around for over 100 years; even if you don’t know it by that name, you’ve seen it. It is constructed with 15 sliding tiles, each with a number from 1 to 15 on it, and all packed into a 4 by 4 frame with one tile missing.原创 2021-10-01 14:14:14 · 196 阅读 · 0 评论 -
UVA129 困难的串 Krypton Factor
题目描述将一个包含两个相邻的重复子串的子串,称为“容易的串”,其他为“困难的串”。 输入正整数n和l,输出由前l个字符组成的,字典序第k小的困难的串。输入样例7 330 30 0输出样例7 3ABAC ABA730 3ABAC ABCA CBAB CABA CABC ACBA CABA280 0思路解析: 这个题是求字符串的困难串,在进行判断时,由于困难串比较难判断,我们来判断简单串,如果判断简单串呢?我们只需要判断字符串的后缀子串即可.因为一个困难串+一个字符,相邻子串只原创 2021-07-24 17:29:28 · 200 阅读 · 0 评论 -
UVA524素数环 Prime Ring Problem
题目描述:输入:68输出:68思路: 递归+回溯的应用参考代码:#include<iostream>#include<string.h>using namespace std;//判断素数int is_prime(int x) { //除1和其本身外,不能被其他整数所除. 一般因子i <= 根号x i*i<= x for(int i = 2; i * i <= x; i++){ if(x % i == 0){ r原创 2021-07-24 14:54:25 · 207 阅读 · 0 评论 -
P2853 [USACO06DEC]Cow Picnic S
题目描述输入2 4 4231 21 42 33 4输出 #1复制2思路:DFS+图的存储(vector构建的邻接表). 从K个奶牛所在的地方进行DFS遍历,最后只有book[i] = k的牧场满足条件.参考代码#include<bits/stdc++.h>using namespace std;struct edge{ int u,v; edge(int u1,int v1):u(u1),v(v1){ };};int visited[1000+10原创 2021-05-11 21:32:30 · 186 阅读 · 0 评论 -
P5318 【深基18.例3】查找文献
题目描述请对这个图分别进行 DFS 和 BFS,并输出遍历结果。如果有很多篇文章可以参阅,请先看编号较小的那篇(因此你可能需要先排序)。输入8 91 21 31 42 52 63 74 74 87 8输出1 2 5 6 3 7 8 4 1 2 3 4 5 6 7 8 思路:DFS+BFS+图的存储 这个题中在搜索过程中需要不断的判断两点之间的边是否存在,所以应该使用邻接矩阵,但由于数据量太多,所以邻接矩阵也是不行的.我们可以使用vector.然后用一种新的方法来存储图原创 2021-05-10 22:21:30 · 292 阅读 · 2 评论 -
POJ3278---Catch That Cow
POJ3278—Catch That Cow题目描述农夫约翰已被告知逃亡牛的位置,并希望立即抓住她。他开始于一个点N(0≤ N≤100,000)和牛是在点K (0≤ K≤100,000),他们在同一条线上。农夫约翰有两种交通方式:步行和乘车。行走:约翰可以在一分钟内从任意点X移动到X -1或X + 1 点乘车:约翰可以在一分钟内从任意点X移动到点2× X .如果母牛不知道它的追赶,根本不动,那么农夫约翰需要多长时间才能找回它?输入第1行:两个以空格分隔的整数:N和K输出第1行:农夫约翰用最原创 2021-02-27 17:31:42 · 1228 阅读 · 0 评论 -
UVA572 油田 Oil Deposits
题意描述输入多个m行n列的矩阵,用00表示输入结束。找出有多少块石油区域,用“@”代表石油,假如两个“@”在横,竖或对角线上相邻,就说它们位于同一区域,对于每个输入,输出一个数表示有几个石油区域。输入1 1*3 5*@*@***@***@*@*1 8@@****@*5 5****@*@@*@*@**@@@@*@@@**@0 0输出0122思路:DFS参考代码#include<bits/stdc++.h>using namespace std原创 2021-05-02 17:02:24 · 470 阅读 · 0 评论