dfs和bfs
文章平均质量分 51
丿繁年
一起来交流
展开
-
7-13 肿瘤诊断 (30 分)
7-13 肿瘤诊断 (30 分)在诊断肿瘤疾病时,计算肿瘤体积是很重要的一环。给定病灶扫描切片中标注出的疑似肿瘤区域,请你计算肿瘤的体积。输入格式:输入第一行给出4个正整数:M、N、L、T,其中M和N是每张切片的尺寸(即每张切片是一个M×N的像素矩阵。最大分辨率是1286×128);L(≤60)是切片的张数;T是一个整数阈值(若疑似肿瘤的连通体体积小于T,则该小块忽略不计)。最后给出L张切片。每张用一个由0和1组成的M×N的矩阵表示,其中1表示疑似肿瘤的像素,0表示正常像素。由于切片厚度可以认为是一原创 2022-04-22 20:25:51 · 104 阅读 · 0 评论 -
Find a way HDU - 2612(两次bfs)
Find a way HDU - 2612 在杭州经过一年的学习,一分飞终于抵达了家乡宁波。离开宁波一年,一分飞有很多人要见面。尤其是好朋友 Merceki。Yifenfei的家在农村,而Merceki的家在市中心。于是一分飞和Merceki约好在肯德基见面。宁波有很多肯德基,他们想选择一个总时间最少的。现在给你一张宁波地图,一分飞和Merceki都可以上、下、左、右移动到相邻的道路,花费11分钟。输入输入包含多个测试用例。每个测试用例包括前两个整数 n,m。(2<=n,m<=200原创 2021-08-13 21:42:11 · 210 阅读 · 0 评论 -
非常可乐(没有刻度的平均分水问题)
#include <iostream>#include <cstdio>#include <cstring>#include <queue>using namespace std;struct node { int c; int a; int b; int step;};queue<node> q;int vist[105][105][105];int C,A,B,flag;void bfs() { if(C&原创 2021-08-08 21:41:43 · 159 阅读 · 0 评论 -
油田(判断联通块数目)
Oil Deposits HDU - 1241 GeoSurvComp 地质调查公司负责探测地下油藏。GeoSurvComp 一次处理一个大的矩形土地区域,并创建一个将土地划分为许多方形地块的网格。然后分别分析每个地块,使用传感设备来确定地块是否含有石油。包含石油的地块称为口袋。如果两个油袋相邻,则它们是同一个油藏的一部分。油藏可能非常大,并且可能包含许多油袋。您的工作是确定网格中包含多少种不同的油藏。输入输入文件包含一个或多个网格。每个网格以一行包含 m 和 n(网格中的行数和列数)开始,由一个空格原创 2021-08-08 10:49:20 · 138 阅读 · 0 评论 -
迷宫(输出路径方法)
迷宫问题 POJ - 3984 定义一个二维数组:int maze[5][5] = {0, 1, 0, 0, 0,0, 1, 0, 1, 0,0, 0, 0, 0, 0,0, 1, 1, 1, 0,0, 0, 0, 1, 0,};它表示一个迷宫,其中的1表示墙壁,0表示可以走的路,只能横着走或竖着走,不能斜着走,要求编程序找出从左上角到右下角的最短路线。Input一个5 × 5的二维数组,表示一个迷宫。数据保证有唯一解。Output左上角到右下角的最短路径,格式如样例所示原创 2021-08-08 10:30:45 · 670 阅读 · 0 评论 -
Fire Game(判断联通块+2元起点)
Fire Game FZU - 2150胖哥和迷宫在 N*M 棋盘(N 行,M 列)上玩一种特殊的(无尽)游戏。一开始,这个板的每个网格都由草组成或只是空的,然后他们开始发射所有的草。首先他们选择两个由草和火组成的网格。众所周知,火可以在草丛中蔓延。如果网格 (x, y) 在时间 t 触发,则与该网格相邻的网格将在时间 t+1 触发,该时间指的是网格 (x+1, y), (x-1, y), (x, y+1), (x, y-1)。当没有新网格起火时,此过程结束。如果然后所有由草组成的网格都被烧毁,胖哥和迷原创 2021-08-04 21:31:08 · 159 阅读 · 1 评论 -
Pots 用bfs模拟2杯子体积分别为A,B通过一系列操作把其中一杯子变为C升水
Pots POJ - 3414 给你两个罐子,分别有A升和B升的体积这里开始的时候A和B的杯子都是没有水的。可以执行以下操作:1,FILL(i)从水龙头填充锅i (1 ≤ i ≤ 2);2,DROP(i) 将锅i排空至排水管;3,POUR(i,j) 从锅i倒入锅j;在此操作之后,要么锅j已满(锅i 中可能还有一些水),要么锅i是空的(并且其所有内容都已移到锅j 中)。编写一个程序,找出这些操作的最短可能序列,以便在其中一个锅中产生恰好C升的水。输入第一行也是唯一一行是数字A、B和C。原创 2021-07-30 15:35:37 · 295 阅读 · 0 评论 -
Prime Path(bfs加素数)
Prime Path题意:给出2个素数(4位的数字)A和B,要求从A每次边一个位置上的数字且是素数,通过几次变换后,求变到B的最少步数,当然是bfs思路:一 一改变位置上的数并判断素数;#include<iostream>#include<cstring>#include<vector>#include<queue>#include<climits>#include<algorithm>using namespace原创 2021-07-30 12:44:37 · 126 阅读 · 0 评论 -
Find The Multiple(bfs+构造)
Find The Multiple 给定一个正整数 n,**编写程序找出 n 的非零倍数 m即是找m%n==0;**,它的十进制表示只包含数字 0 和 1。你可以假设 n 不大于 200,并且对应的 m 不大于 100十进制数字。输入输入文件可能包含多个测试用例。每行包含一个值 n (1 <= n <= 200)。包含零的行终止输入。输出对于输入中的每个 n 值,打印一行包含相应的 m 值。m 的十进制表示不能超过 100 位。如果对于给定的 n 值有多个解决方案,则其中任何一原创 2021-07-30 12:32:23 · 122 阅读 · 0 评论 -
二进制枚举
翻转 POJ - 3279 农夫约翰知道,一头智力满足的奶牛是一头会产更多奶的快乐奶牛。他为奶牛安排了一项聪明的活动,让奶牛操纵一个M × N网格(1 ≤ M ≤ 15;1 ≤ N ≤ 15)的正方形瓷砖,每块瓷砖的一侧为黑色,另一侧为白色。正如人们所猜测的那样,当一个白色的瓷砖被翻转时,它会变成黑色;当翻转单个黑色瓷砖时,它会变为白色。奶牛在翻转瓷砖时得到奖励,使每块瓷砖的白色面朝上。然而,奶牛有相当大的蹄子,当它们试图翻转某个瓷砖时**,它们也会翻转所有相邻的瓷砖(与翻转的瓷砖共享完整边缘的瓷砖)*原创 2021-07-27 14:59:07 · 95 阅读 · 0 评论 -
Catch That Cow【直接改变数值的一维bfs】
Catch That Cow POJ - 3278 农夫约翰已被告知一头逃亡母牛的位置,并希望立即抓住她。他从数轴上的点N (0 ≤ N ≤ 100,000) 开始,而奶牛在同一数轴上的点K (0 ≤ K ≤ 100,000) 处。Farmer John 有两种交通方式:步行和传送。行走:FJ 可以在一分钟内从X点移动到X - 1 或X + 1点传送:FJ 可以在一分钟内从X点移动到 2 × X点。如果母牛不知道它的追逐,根本不动,农夫约翰需要多长时间才能取回它?输入第 1 行:两个空格分隔原创 2021-07-26 10:55:48 · 157 阅读 · 0 评论 -
地牢大师【三维地图bfs】
地牢大师您被困在 3D 地牢中,需要找到最快的出路!地牢由单位立方体组成,这些立方体可能充满也可能不充满岩石。向北、向南、向东、向西、向上或向下移动一个单位需要一分钟。你不能对角移动,迷宫四面都是坚固的岩石。有没有可能逃脱?如果是,需要多长时间?输入输入由许多地牢组成。每个地牢描述都以一行包含三个整数 L、R 和 C(大小均限制为 30)开始。L 是构成地牢的层数。R 和 C 是构成每个级别的计划的行数和列数。然后将跟随 L 块 R 行,每行包含 C 个字符。每个字符描述地牢的一个单元。装满岩原创 2021-07-26 10:11:16 · 316 阅读 · 0 评论 -
棋盘问题POJ - 1321
棋盘问题 POJ - 1321在一个给定形状的棋盘(形状可能是不规则的)上面摆放棋子,棋子没有区别。要求摆放时任意的两个棋子不能放在棋盘中的同一行或者同一列,请编程求解对于给定形状和大小的棋盘,摆放k个棋子的所有可行的摆放方案.Input输入含有多组测试数据。每组数据的第一行是两个正整数,n k,用一个空格隔开,表示了将在一个n*n的矩阵内描述棋盘,以及摆放棋子的数目。 n <= 8 , k <= n当为-1 -1时表示输入结束。随后的n行描述了棋盘的形状:每行有n个字符,其中 #原创 2021-07-26 09:56:02 · 77 阅读 · 0 评论