
DFS搜索顺序
AKone123456
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
问题 E: 填色问题 (color)---------------------------思维(dfs搜索顺序)
题目描述有形如下列图形的地图,图中每一块区域代表一个省份,现请你用红(1)、蓝(2)、黄(3)、绿(4)四种颜色给这些省份填上颜色,要求每一省份用一种颜色,且任意两个相邻省份的颜色不能相同,请给出符合条件的填色方案总数。地图用无向图的形式给出,每个省份代表图上的一个顶点,边代表两个省份是相邻的。输入有若干行,第一行包含一个自然数n,代表地图上省份数。接下来的n行,每行有n个用空格隔开的0或1,用来描述各省份之间的相邻关系(0表示不相邻,1表示相邻)。输出输出数据仅一数,表示符合条件的填色方案总数。原创 2020-06-02 22:25:42 · 629 阅读 · 0 评论 -
白魔法师-----------------------思维(dfs+并查集)
解析:dfs维护每一个连通块内部成员数量,取连通块数量最大的一个。然后枚举黑色节点。判断与黑色节点相连的点是不是属于白色连通块里,如果属于那么总的个数就是 size[find(x)]+1 和之前答案取最大值#include<bits/stdc++.h>using namespace std;const int N=1e5+1000;int e[N*2],ne[N*2],idx,h[N];int n,u,v;int fa[N];int size[N];int ans=0;..原创 2020-05-18 20:35:05 · 246 阅读 · 0 评论 -
模拟战役---------------------------思维(dfs+连通块)
解析:对于每一个大炮受到攻击,那么以它为中心的3*3方格都会收到波及,所以我们求一下连通块,以及每个连通块的个数。我们求出齐齐的连通块数量为 tot1求出司机的连通块数量为 tot如果tot1<tot 那么齐齐肯定不能摧毁司机所有的大炮 输出-1对于tot1>tot 。 我们希望剩下来的大炮尽量多,所以我们按照每个连通块的个数从小到大排序,让小的去解决。那么剩下的就是最大的#include<bits/stdc++.h>using namespace std;co...原创 2020-05-15 14:44:41 · 332 阅读 · 0 评论 -
Torn To Pieces-------------------------------思维(dfs+stringstream流)
题意:给定n个站点连接的情况,最终询问能否从某个站点到达某个站点解析:用getline(cin,s) 把整个串读进来然后用stringstream流 把字符串分解一下然后把字符串数字化。然后跑一遍dfs如果能跑到终点我们直接输出路径。#include<bits/stdc++.h>using namespace std;const int N=1e5+1000...原创 2020-04-20 10:15:33 · 286 阅读 · 0 评论 -
十面埋伏-------------------------------------思维(dfs)
解析:先给整个方格打上’x’对于’#‘四周的’x’使其变成’*’剩下的’x’变成’.'就可以了#include<bits/stdc++.h>using namespace std;const int N=1000;int dx[4]={0,1,0,-1};int dy[4]={1,0,-1,0};char a[N][N];int n,m;bool vis[...原创 2020-04-19 19:21:45 · 253 阅读 · 0 评论 -
四个选项--------------------------------------------思维(dfs)
解析:先把选择相同答案的题目用并查集维护。然后大爆搜即可#include<bits/stdc++.h>using namespace std;const int N=1e5+100;int fa[N];int cnt[N];vector<int> res;int na,nb,nc,nd,m,a,b,n,ans;int find(int x){ i...原创 2020-04-11 11:36:46 · 150 阅读 · 0 评论 -
单词接龙--------------------------(DFS搜索顺序)
单词接龙是一个与我们经常玩的成语接龙相类似的游戏。现在我们已知一组单词,且给定一个开头的字母,要求出以这个字母开头的最长的“龙”,每个单词最多被使用两次。在两个单词相连时,其重合部分合为一部分,例如 beast 和 astonish ,如果接成一条龙则变为 beastonish。我们可以任意选择重合部分的长度,但其长度必须大于等于1,且严格小于两个串的长度,例如 at 和 atide 间不能...原创 2020-02-11 12:43:15 · 521 阅读 · 0 评论 -
马走日--------------------------(DFS搜索顺序)
马在中国象棋以日字形规则移动。请编写一段程序,给定 n∗m 大小的棋盘,以及马的初始位置 (x,y),要求不能重复经过棋盘上的同一个点,计算马可以有多少途径遍历棋盘上的所有点。输入格式第一行为整数 T,表示测试数据组数。每一组测试数据包含一行,为四个整数,分别为棋盘的大小以及初始位置坐标 n,m,x,y。输出格式每组测试数据包含一行,为一个整数,表示马能遍历棋盘的途径总数,若无法遍历棋...原创 2020-02-11 12:08:06 · 1642 阅读 · 0 评论