标题
在老电影“007之生死关头”(Live and Let Die)中有一个情节,007被毒贩抓到一个鳄鱼池中心的小岛上,他用了一种极为大胆的方法逃脱 —— 直接踩着池子里一系列鳄鱼的大脑袋跳上岸去!(据说当年替身演员…
本题我采用邻接表来存储图,由题目所有边的长度为1可以知道本题可以采用bfs来做。
#include<iostream>
#include<queue>
#include<cstring>
using namespace std;
const int N 1e5 9;
int e[N], ne[N], h[N], idx, n , m, d[N];void add(int a…
问题描述:地上有一个m行n列的方格,从坐标[0,0]到坐标[m-1,n-1].一个机器人从坐标[0,0]的格子开始移动,他每次可以向左、右、上、下移动一格(不能移动到方格外),也不能进入行坐标和列坐标的数位之和大于k的格子。
public int numB…
二维数组初始化 int d[m][n];memset(d,-1,sizeof d);令d数组初始为-1,再把入口变0,这样-1即代表没有访问过,非-1即代表距离,一个数组记录两种数值。
class Solution {
public:int nearestExit(vector<vector<char>>&…
题目链接:登录—专业IT笔试面试备考平台_牛客网
题目 代码详解:
#include<iostream>
using namespace std;
#include<queue>
#include<string.h>
int m, n, endx, endy;
char map[503][503];//存储迷宫
struct fx
{int x;int y;
}ar…
958. 二叉树的完全性检验
解题思路
改造二叉树的层序遍历算法 遍历到最后队列留下的全部都是空指针如果遍历结束之后队列有节点 返回false注意遍历每一个节点 不管它的左孩子或者右孩子是不是null 直接入队 /*** Definition for a binary tree node.* public class TreeNode …
题目
本实验实现邻接表表示下无向图的广度优先遍历。
程序的输入是图的顶点序列和边序列(顶点序列以*为结束标志,边序列以-1,-1为结束标志)。程序的输出为图的邻接表和广度优先遍历序列。例如: 程序输入为: a b c d e f * 0,1 0,4 1,4 1,5 …
邻接矩阵存储无向图的类
const int MaxSize10;
template <class T>
class Mgraph{public:MGraph(T a[ ], int n, int e ); ~MGraph( )void DFSTraverse(int v); void BFSTraverse(int v);……private:T vertex[MaxSize]; int arc[MaxSize][MaxSize]; int vertexNum, …
给定一个 n 个点 m 条边的有向图,图中可能存在重边和自环。
所有边的长度都是 1 ,点的编号为 1∼n 。
请你求出 1 号点到 n 号点的最短距离,如果从 1 号点无法走到 n 号点,输出 −1 。
输入格式 第一行包含两个整数 n 和 m 。 …
文章目录 题目描述输入格式输出格式样例样例输入样例输出 数据范围与提示完整代码 题目描述
给出一个 N N N 个顶点 M M M 条边的无向无权图,顶点编号为 1 ∼ N 1\sim N 1∼N。问从顶点 1 1 1 开始,到其他每个点的最短路有几条。
输入格式
第一行…
力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台
题目描述
有 n 个城市,其中一些彼此相连,另一些没有相连。如果城市 a 与城市 b 直接相连,且城市 b 与城市 c 直接相连,那么城市 a 与城市 …
作者推荐
【二分查找】【C算法】378. 有序矩阵中第 K 小的元素
本文涉及知识点
广度优先搜索 堆
LeetCoce407. 接雨水 II
给你一个 m x n 的矩阵,其中的值均为非负整数,代表二维高度图每个单元的高度,请计算图中形状最多能接多少体积的雨…
目录
Lake Counting S
求细胞数量
海战
组合的输出
div3 A. Square
div3 B. Arranging Cats Lake Counting S
P1596 [USACO10OCT] Lake Counting S - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)
感谢大佬的指点!!!!
思…
数据结构–BFS求最短路 BFS求⽆权图的单源最短路径
注:⽆权图可以视为⼀种特殊的带权图,只是每条边的权值都为1 以 2 为 b e g i n 位置 以2为begin位置 以2为begin位置 代码实现
//求顶点u到其他顶点的最短路径
void BFS_MIN_Distance(Graph G, int u…
P1825 [USACO11OPEN] Corn Maze S import java.util.LinkedList;
import java.util.Queue;
import java.util.Scanner;public class Main {public static int N;//行public static int M;//列public static Queue<Integer> q new LinkedList<>();public static in…
A*简介
某点u的距离f(u)定义如下: f ( u ) g ( u ) h ( u ) f(u) g(u) h(u) f(u)g(u)h(u) g(u):起点到u走的距离 h(u):u到终点估计的距离,保证 0 ≤ h ( u ) ≤ h ′ ( u ) 0 \leq h(u) \leq h(u) 0≤h(u)≤h′(u)。其中h’…
Problem - D - Codeforces 你正在玩一款电脑游戏。其中一个关卡将你置于一个迷宫中,它由n行构成,每行包含m个单元格。每个单元格要么是空闲的,要么被障碍物占据。起始单元格位于第r行和第c列。在一步中,如果目标单元格没有被障碍物…
目录
图的创建和常用方法
深度优先遍历(Depth First Search)
广度优先遍历(Broad First Search) 图的创建和常用方法
//无向图
public class Graph {//顶点集合private ArrayList<String> vertexList;//存储对应的邻接…
E - Nearest Black Vertex (atcoder.jp)
题面
如果无法将每个顶点绘制为黑色或白色以满足条件,请打印 No.否则,打印 Yes
如果顶点 i is painted black and 被漆成黑色 00 if white. 如果是白色。
第一行是否有解,YES NO 第二行字符串1是黑…
文章目录 一、题目二、题解 一、题目
Given an m x n 2D binary grid grid which represents a map of 1’s (land) and 0’s (water), return the number of islands.
An island is surrounded by water and is formed by connecting adjacent lands horizontally or vertic…
关灯问题II
题目描述
现有 n n n 盏灯,以及 m m m 个按钮。每个按钮可以同时控制这 n n n 盏灯——按下了第 i i i 个按钮,对于所有的灯都有一个效果。按下 i i i 按钮对于第 j j j 盏灯,是下面 3 3 3 中效果之一:如果 …
用bfs,dfs判断图的连通性,核心在于,搜到合法的某点,把于其联通的点全找到并记录或改判 题目链接
ACcode(dfs)
#include<bits/stdc.h>using namespace std;int n, m;
char a[105][105];
int ans 0;int xx[12] { 0,0,1,-1…
奇怪的电梯
题目链接
题目描述
呵呵,有一天我做了一个梦,梦见了一种很奇怪的电梯。大楼的每一层楼都可以停电梯,而且第 i i i 层楼( 1 ≤ i ≤ N 1 \le i \le N 1≤i≤N)上有一个数字 K i K_i Ki( 0…
//新生训练 #include <iostream>
#include <algorithm>
#include <cstring>
#include <queue>
using namespace std;
using PII pair<int, int>;
const int N 205;
int n, m;
int dis[N][N];
int dx[] {0, 0, -1, 1, -1, 1, -1, 1};
int dy[]…
树的深度优先搜索 function Node(value) {this.value valuethis.children []
}let a new Node(a)
let b new Node(b)
let c new Node(c)
let d new Node(d)
let e new Node(e)
let f new Node(f)
a.children.push(c)
a.children.push(b)
a.children.push(f)
b.children…
https://labuladong.online/algo/essential-technique/bfs-framework/ bfs的解题框架
bfs的问题,就是一幅图,从起点走到终点,问最短路径
from typing import List, Set
from collections import deque
class Node:def __init__(self, val: …
//新生训练 #include <iostream>
#include <algorithm>
#include <cstring>
#include <queue>
using namespace std;
typedef pair<int, int> PII;
const int N 205;
int n, m;
int l;
int A, B, C;
int dis[N][N];struct node
{int px, py, op…
【LetMeFly】2684.矩阵中移动的最大次数:一列一列处理,只记能到哪行(BFS)
力扣题目链接:https://leetcode.cn/problems/maximum-number-of-moves-in-a-grid/
给你一个下标从 0 开始、大小为 m x n 的矩阵 grid ,矩阵由若干 正 整…
1 深度优先算法与 宽度优先遍历
深度优先算法(DFS,Deep First Search)与 宽度优先遍历(BFS,Breadth First Search) 是树、图数据结构的基础性、标准性的遍历算法。 2 深度优先算法(DFS,Deep First Search)
深度优先搜索(DFS)是一种用于搜索图形或树数据结构的算法…
公主被恶人抓走,被关押在牢房的某个地方。牢房用 N \times M (N, M \le 200)NM(N,M≤200) 的矩阵来表示。矩阵中的每项可以代表道路()、墙壁(#)、和守卫(x)。
英勇的骑士(r…
//新生训练 #include <bits/stdc.h>
using namespace std;
int n, m;
bool f;
char mp[15][15];
int vis[15][15];
int dir[4][2] {{-1, 0}, {0, 1}, {1, 0}, {0, -1}};
bool in(int x, int y)
{return 0 < x && x < n && 0 < y && y …
废话不多说,先上题
对应代码如下: def dfs(x,y):global numfor i in range(0,4):dir[(-1,0),(0,-1),(1,0),(0,1)]nx,nyxdir[i][0] ,ydir[i][1]if nx<0 or nx>hx or ny <0 or ny>wy: continueif mp[nx][ny]*:num1print("%d:%s->%d%…
农夫约翰有三个容量分别为 A , B , C A,B,C A,B,C 升的挤奶桶。
最开始桶 A A A 和桶 B B B 都是空的,而桶 C C C 里装满了牛奶。
有时,约翰会将牛奶从一个桶倒到另一个桶中,直到被倒入牛奶的桶满了或者倒出牛奶的桶空了为止。
这一过…
对于之前走迷宫的那个题
回忆一下dfs的代码
#include <bits/stdc.h>
using namespace std;
int a[110][110];
bool check[110][110];
int n,m;
int ans1e9;
int nxt[4][2]{{1,0},{0,-1},{-1,0},{0,1}};
void dfs(int x,int y,int step){if(xn&&ym){ansmin(ans,…
DFS(depth first search) 深度优先遍历
从图中一个未访问的顶点V开始,沿着一条路一直走到底,然后从这条路尽头的节点回退到上一个节点,再从另一条路走到底…不断递归重复这个过程,直到所有的顶点都遍历完成。前序遍历,…