Toggle navigation
C语言网
教程
博客
团队
训练
训练
题库
题集
状态
排名
比赛
比赛
标准
自主
考试
网课
AI助手
AI助手
代码解释
语言转换
编程助手
列公子
私信TA
用户名:lielielie
访问量:9387
签 名:
等 级
P4
排 名
1689
经 验
2569
参赛次数
0
文章发表
20
年 龄
0
在职情况
学生
学 校
哈尔滨工程大学
专 业
自我简介:
TA的其他文章
蓝桥杯算法提高- 和最大子序列 动态规划 C++
浏览:
312
蓝桥杯算法提高VIP-种树 动态规划 / DFS (C++)
浏览:
765
蓝桥杯 棋盘多项式 DFS (C++)
浏览:
520
你可能喜欢
C二级辅导-统计字符 (C语言代码)
浏览:
483
C语言程序设计教程(第三版)课后习题6.11 (C++代码)
浏览:
719
Minesweeper (C语言代码)
浏览:
804
printf基础练习2 (C++代码)(受教了,,%#o和%#x的用途)三人行,必有我师,,多看题解会有收获
浏览:
1871
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)
浏览:
699
蓝桥杯 路径之谜 DFS
作者:
列公子
发表时间:2020-03-15 12:27:13
浏览:108 | 评论:0
原题链接:
蓝桥杯2016年第七届真题-路径之谜
# 路径之谜 DFS ## 完整代码 (AC) ```cpp #include
#include
using namespace std; const int maxn = 25; int unums[maxn]; // 上边的数字 int lnums[maxn]; // 左边的数字 int upper[maxn]; // 上边的数字, 临时值 int left[maxn]; // 左边的数字, 临时值 int N; vector
path; // 路径 int xx[4] = {-1, 1, 0, 0}; int yy[4] = {0, 0, -1, 1}; bool vis[maxn][maxn]; void dfs(int x, int y){ unums[y] ++; lnums[x] ++; vis[x][y] = true; path.push_back(x * N + y); // 到达终点 if (x == N-1 && y == N-1){ bool flag = true; for (int i = 0; i < N; i++) { if (upper[i] != unums[i] || left[i] != lnums[i]) { flag = false; break; } } if (flag) { for (int i = 0; i < path.size(); i++) printf("%d ", path[i]); } } for (int i = 0; i < 4; i++){ int cx = x + xx[i]; int cy = y + yy[i]; // 坐标合法, 剪枝 if (cx > -1 && cy > -1 && cx < N && cy < N && !vis[cx][cy] && unums[cy] + 1 <= upper[cy] && lnums[cx] + 1 <= left[cx]) dfs(cx, cy); } unums[y] --; // 回溯 lnums[x] --; vis[x][y] = false; path.pop_back(); } int main(){ scanf("%d", &N); for (int i = 0; i < N; i++) scanf("%d", &upper[i]); for (int i = 0; i < N; i++) scanf("%d", &left[i]); dfs(0, 0); return 0; } ```
0.0分
0 人评分
分享
收藏
C语言网推出会员服务,提供C/C++/算法/Python等多套视频学练课程+源码资源社群答疑+私活推荐等资源,享受丰富的技术学习到变现的乐趣,
以含金量和学习效果勇敢挑战同类辅导
! 点击了解开通
评论区
«
»
提交
精彩推荐
C语言考试练习题_排列 (C语言代码)
浏览:
1313
C语言程序设计教程(第三版)课后习题6.3 (C语言代码)
浏览:
424
printf基础练习2 (C语言代码)
浏览:
746
C语言训练-数字母 (C语言代码)
浏览:
598
C语言程序设计教程(第三版)课后习题11.1 (C语言代码)
浏览:
486
蛇行矩阵 (C语言代码)
浏览:
498
C语言程序设计教程(第三版)课后习题7.3 (C语言代码)
浏览:
403
A+B for Input-Output Practice (I) (C语言代码)
浏览:
570
用getchar()函数接收字符,正序输入为什么会倒序输出
浏览:
739
C语言程序设计教程(第三版)课后习题6.7 (C语言代码)
浏览:
501
有问题
,
问问AI
代码解释
语言转换
编程助手