广度
码码搬运工
这个作者很懒,什么都没留下…
展开
-
奇怪的电梯
#include<bits/stdc++.h>using namespace std;struct Node{ int loc; int num; }; int n,A,B;int a[205];bool b[205]; //**int dx[2]={-1,1};queue<Node> q;void bfs(){ while(!q.empty()) { Node node = q.front(); //队列中的第一个 if(node.loc .原创 2021-03-17 10:56:12 · 68 阅读 · 0 评论 -
过河卒
题目描述棋盘上 AA 点有一个过河卒,需要走到目标 BB 点。卒行走的规则:可以向下、或者向右。同时在棋盘上 CC 点有一个对方的马,该马所在的点和所有跳跃一步可达的点称为对方马的控制点。因此称之为“马拦过河卒”。棋盘用坐标表示,AA 点 (0, 0)(0,0)、BB 点 (n, m)(n,m),同样马的位置坐标是需要给出的。现在要求你计算出卒从 AA 点能够到达 BB 点的路径的条数,假设马的位置是固定不动的,并不是卒走一步马走一步。输入格式一行四个正整数,分别表示 BB 点坐标和马的坐标。原创 2021-03-17 10:50:42 · 114 阅读 · 0 评论 -
LakeCounting
#include<bits/stdc++.h>using namespace std;struct Node{ int x; int y;};queue<Node> q;int n,m;char a[405][405];int c=0;int dx[8]={1,1,1,0,0,-1,-1,-1};int dy[8]={0,1,-1,1,-1,0,1,-1};void bfs(int i,int j){ Node node; node.x = i; no.原创 2021-03-10 15:16:39 · 79 阅读 · 0 评论 -
马的遍历
#include<bits/stdc++.h>using namespace std;int n,m;int sx,sy;struct Node{ int x; int y;}; queue<Node> q;int a[405][405];bool b[405][405];int dx[8]={-1,1,-2,2,1,2,-2,-1};int dy[8]={-2,-2,-1,-1,2,1,1,2};void bfs(){ while(!q.empty().原创 2021-03-10 15:15:23 · 90 阅读 · 1 评论 -
奇怪的电梯
题目描述呵呵,有一天我做了一个梦,梦见了一种很奇怪的电梯。大楼的每一层楼都可以停电梯,而且第i层楼(1<i≤N)上有一个数字K;(0≤Ki ≤N)。电梯只有四个按钮:开,关,上,下。上下的层数等于当前楼层上的那个数字。当然,如果不能满足要求,相应的按钮就会失灵。例如:3,3,1,2,5代表了K;(K1= 3,Kg = 3,. …),从1楼开始。在1楼,按"上"可以到4楼,按”下"是不起作用的,因为没有-2楼。那么,从A楼到B楼至少要按几次按钮呢?输入格式共二行。第一行为3个用空格隔开的正整数,原创 2021-03-10 15:13:47 · 88 阅读 · 0 评论 -
地面、岩浆、最短路径
/*有一个长 为 N 宽为 M的地图地图由地面和岩浆组成0 是 地面1 是 岩浆小明站在 (sx sy)坐标上他想离开这个地方出口在 (ex, ey) 坐标上小明只能上下移动,请问他是否会抵达出口?如果能,求最短路径长度(值)。如果不能输出NO。A * 自动寻路算法*/#include <bits/stdc++.h>using namespace std;int N; //长 int M; //宽int sx; //当前坐标 int sy;int e原创 2021-02-02 23:25:30 · 114 阅读 · 0 评论 -
海域、陆地、抢滩登陆、搜光
/*在一个N*M的海域之中,有几个岛屿海域:用0表示大海用1表示陆地对于陆地如果它的上下左右(不用逗号)相邻位置也是陆地则这两块陆地在同一个岛屿上,问:有几个岛屿在这个海上?输入 N M 表示长宽输入地图5 1000000000000110110010010101011000011100100000000000*/#include <bits/stdc++.h> using namespace std;int N;int M;int sum;in原创 2021-02-05 14:06:57 · 188 阅读 · 0 评论 -
广度优先搜索,寻找最短路径
/*5 61 21 31 42 33 44 5*/#include<bits/stdc++.h>using namespace std;int n;int k; //表示两两之间的路径数(直接抵达) struct Node{ map<int,bool> m;};struct Loc{ int x; //当前位置 int len; //长度 };Node N[100];queue<Loc> q;bool b[100];v.原创 2021-02-06 22:01:07 · 547 阅读 · 0 评论 -
地面、岩浆、爆炸
/*有一个长 为 N 宽为 M的地图地图由地面和岩浆组成0 是 地面1 是 岩浆小明站在 (sx sy)坐标上他想离开这个地方出口在 (ex, ey) 坐标上空中不断扔下陨石,陨石将在ti时刻降落地图上的某位置(bx,by),并摧毁该位置的以及上下左右邻近格子被摧毁的格子无法行走小明只能上下移动,请问他是否会抵达出口?如果能,求最短路径长度(值)。如果不能输出NO。5 5 40 0 4 400000000000000000000000002 0 27 3 2原创 2021-02-05 14:10:09 · 120 阅读 · 0 评论