HUD2102(基础bfs)】的更多相关文章

A计划 Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 16914    Accepted Submission(s): 4251 Problem Description 可怜的公主在一次次被魔王掳走一次次被骑士们救回来之后,而今,不幸的她再一次面临生命的考验.魔王已经发出消息说将在T时刻吃掉公主,因为他听信谣言说吃公主的肉也能长生不老.…
这是做的第一道BFS,很基础很简单的题目 广度优先搜索算法如下:(用QUEUE)(1) 把初始节点S0放入Open表中:(2) 如果Open表为空,则问题无解,失败退出:(3) 把Open表的第一个节点取出放入Closed表,并记该节点为n:(4) 考察节点n是否为目标节点.若是,则得到问题的解,成功退出:(5) 若节点n不可扩展,则转第(2)步:(6) 扩展节点n,将其不在Closed表和Open表中的子节点(判重)放入Open表的尾部,并为每一个子节点设置指向父节点的指针(或记录节点的层次)…
//满基础的一道题 //最短路径肯定是BFS. //然后靠右,靠左,就DFS啦 //根据前一个状态推出下一个状态,举靠左的例子,如果一开始是上的话,那么他的接下来依次就是 左,上 , 右 , 下 //如果我们用数组存一下 左,上 , 右 , 下, //而且你会发现他原来的状态是d,下一个状态就是=((d-1+4)%4+i)%4,其实你比划一下,就会知道左的话就是下开始变,上的话就是左开始变. //同比靠右也是一样 //初始化,题目条件是 //they will always be located…
题目链接:https://www.luogu.org/problemnew/show/P1135 题目描述 呵呵,有一天我做了一个梦,梦见了一种很奇怪的电梯.大楼的每一层楼都可以停电梯,而且第 i 层楼 (1≤i≤N) 上有一个数字Ki​(0≤Ki​≤N) .电梯只有四个按钮:开,关,上,下.上下的层数等于当前楼层上的那个数字.当然,如果不能满足要求,相应的按钮就会失灵.例如:3,3,1,2,5 代表了Ki​(K1​=3,K2​=3,…) ,从 1 楼开始.在 1楼,按“上”可以到 4 楼,按“…
挑战习题搜索-1 题意: 给定起点,然后求一个可以到达的数量,位置"."都可以走.每次应该是上下左右都可以走. 思路: 这题应该DFS更好写,但是BFS也可以写吧. 好久没写了- dfs挫代码--.. #include<cstdio> #include<iostream> #include<math.h> #include<string.h> #include<algorithm> using namespace std; #…
L3-008. 喊山 一个山头呼喊的声音可以被临近的山头同时听到.题目假设每个山头最多有两个能听到它的临近山头.给定任意一个发出原始信号的山头,本题请你找出这个信号最远能传达到的地方.[何为最远?大致就是BFS的遍历层次吧,可以说是了.] 输入格式: 输入第一行给出3个正整数n.m和k,其中n(<=10000)是总的山头数(于是假设每个山头从1到n编号).接下来的m行,每行给出2个不超过n的正整数,数字间用空格分开,分别代表可以听到彼此[这里说明是双向边!]的两个山头的编号.这里保证每一对山头只…
L3-004. 肿瘤诊断 在诊断肿瘤疾病时,计算肿瘤体积是很重要的一环.给定病灶扫描切片中标注出的疑似肿瘤区域,请你计算肿瘤的体积. 输入格式: 输入第一行给出4个正整数:M.N.L.T,其中M和N是每张切片的尺寸(即每张切片是一个M×N的像素矩阵.最大分辨率是1286×128):L(<=60)是切片的张数:T是一个整数阈值(若疑似肿瘤的连通体体积小于T,则该小块忽略不计). 最后给出L张切片.每张用一个由0和1组成的M×N的矩阵表示,其中1表示疑似肿瘤的像素,0表示正常像素.由于切片厚度可以认…
题目连接:http://acm.nyist.net/JudgeOnline/problem.php?pid=82 此题在基础BFS上加入了门和钥匙,要找齐所有钥匙才能开门,所以要对门特殊处理. 1.先统计下各类钥匙的数量,再记下门的位置. 2.进行BFS,遇到钥匙时,入队,计数各类已找到的钥匙,然后判断是否钥匙找齐,如果找齐,找到对应的门,如果门之前是否访问过,则门入队.(可能此门被障碍堵住,无法进去,所以不能直接加入,只能以前访问过的加入). 3.如果遇到门,判断钥匙是否找齐,若齐,入队,标记…
思路: 在一个方向上走K步,基础BFS. 注意标记: 注意路径: PS:显著注释是记录路径. #include<bits/stdc++.h> using namespace std; const int N=5e2+10; char ma[N][N]; bool vis[N][N]; int dx[4]={0,0,-1,1}; int dy[4]={1,-1,0,0}; /***************/ //int prex[N][N]; //int prey[N][N]; /*******…
题意: 给你一幅图,给你起点和终点,再给你机器人所面对的方向,机器人可以左转90°,右转90°,向前进一格,每种操作都是1秒,,求起点和终点最少花费下的路径条数,方案数: 思路: 这里有一个不同就是机器人还有一个先转弯,再前进. 一开始想的是最短路,问题就是最短路计数,后来一直WA: 后来原来是写挫了,想的是最短路计数,然后写的是BFS,而且连图都没有建,直接跑spfa,也不知道在干什么. 好像最短路的话建图似乎很麻烦,而且复杂度和可行度比这个简单BFS一下低很多: 基础BFS,在一个位置,他可…