
DFS
s_meng_
一名正在努力学习前端的快乐崽崽。
欢迎志同道合的朋友和我一起交流,我会在这里分享自己所学到的知识,也算是给自己做的另一份笔记吧,让自己学到的知识能得到一个输出。我也希望有和我一样正在学习的朋友一起交流,能够一起加油打气,学习是枯燥的,但分享不是,期待你与我一起分享自己所学的。
若你想和我交流,可以加我的联系方式:
微信:tuan-zi-1314
Q Q:1419148453
邮箱:mneg.20200606@gmail.com
展开
-
C语言蓝桥杯——走方格——经典DFS问题
解题思路首先将偶数行和列设置为障碍,将之无法访问,然后就是用DFS来测试所有的路线,输出所有的路线。#include <stdio.h>int n, m;int count = 0;int a[31][31]; //0表示为访问, 1表示访问, 2表示障碍 int xx[2] = {1, 0}; // 表示移动方向 右 下 int yy[2] = {0, 1};void init() { // 将偶数行和列设置为障碍, 将之无法访问 int i, j; a[1][1].原创 2021-05-12 23:32:50 · 1263 阅读 · 2 评论 -
C语言蓝桥杯玩具蛇——经典DFS算法
解题思路将A遍历放在每一个位置,以这个点展开,遍历数组中这个点有多少种摆法,进行统计次数即可。#include <stdio.h> int a[4][4]; //0表示为访问, 1表示访问 int count = 0;int xx[4] = {0, 1, 0, -1}; //移动方向 上 右 下 左 int yy[4] = {-1, 0, 1, 0};void init() { int i, j; for(i = 0; i < 4; i++) { for(j = .原创 2021-05-12 23:05:12 · 402 阅读 · 4 评论 -
C语言经典八皇后问题——DFS,六皇后求解
题目描述一个如下的 6 \times 66×6 的跳棋棋盘,有六个棋子被放置在棋盘上,使得每行、每列有且只有一个,每条对角线(包括两条主对角线的所有平行线)上至多有一个棋子。上面的布局可以用序列 2 4 6 1 3 5 来描述,第 i 个数字表示在第 i 行的相应位置有一个棋子,如下:行号 1 2 3 4 5 6列号 2 4 6 1 3 5这只是棋子放置的一个解。请编一个程序找出所有棋子放置的解。并把它们以上面的序列方法输出,解按字典顺序排列。请输出前 33个解。最后一行是解的总个数。输入原创 2021-05-11 23:00:53 · 5574 阅读 · 16 评论 -
蓝桥杯迷宫——DFS
下午看了一个DFS的视频,学会了迷宫的解决方法,下面给大家详细的说明一下:代码内有详细的注释,编程小白也能看明白:#include <stdio.h>int n, m, t, i;int count = 0;int SX, SY;int FX, FY;int a[50][50]; //0表示未访问,1表示访问, 2表示障碍// 表示可以移动的4个方向 int xx[4] = {0, 1, 0, -1};int yy[4] = {1, 0, -1, 0};int dfs(原创 2021-05-10 22:10:37 · 267 阅读 · 0 评论