poj3984(经典dfs)
题目链接:http://poj.org/problem?id=3984
分析:直接深搜从起点到终点,如何取最短路线,其实只要优先向下或向右走即可。
#include <cstdio> #include <cstring> #include <cmath> #include <iostream> #include <algorithm> #include <queue> #include <cstdlib> #include <stack> #include <vector> #include <set> #include <map> #define LL long long #define mod 1000000007 #define inf 0x3f3f3f3f #define N 100010 using namespace std; int s[10][10]; stack<int>s1,s2; int vis[10][10]; int judge(int a,int b) {return a>=0&&a<5&&b>=0&&b<5&&s[a][b]==0&&!vis[a][b]; } int dfs(int x,int y) {if(x==4&&y==4){s1.push(x);s2.push(y);return 1;}vis[x][y]=1;if(judge(x,y+1)&&dfs(x,y+1)||judge(x+1,y)&&dfs(x+1,y)||judge(x-1,y)&&dfs(x-1,y)||judge(x,y-1)&&dfs(x,y-1)){s1.push(x);s2.push(y);return 1;}else{return 0;}return 0; } void print() {while(!s1.empty()){printf("(%d, %d)\n",s1.top(),s2.top());s1.pop();s2.pop();} } int main() {memset(vis,0,sizeof(vis));for(int i=0;i<5;i++)for(int j=0;j<5;j++)scanf("%d",&s[i][j]);dfs(0,0);print(); }
View Code
转载于:https://www.cnblogs.com/lienus/p/4167691.html
poj3984(经典dfs)相关推荐
- dijkstra算法_Python实现图的经典DFS、BFS、Dijkstra、Floyd、Prim、Kruskal算法
讲在前面的话,图的算法太多,理论知识肯定一篇文章讲不完,关于理论知识大家可以参考教材Sedgewick的<算法>或reference的链接,本文主要还是想在一篇文章中记录六种算法的Pyth ...
- dfs时间复杂度_Python实现图的经典DFS、BFS、Dijkstra、Floyd、Prim、Kruskal算法
讲在前面的话,图的算法太多,理论知识肯定一篇文章讲不完,关于理论知识大家可以参考教材Sedgewick的<算法>或reference的链接,本文主要还是想在一篇文章中记录六种算法的Pyth ...
- PAT A1103 Integer Factorization整数分解 (经典DFS优化)
题目 分析 题意 给定正整数N.K.P,将N表示成K个正整数(可以相同,递减排列)的P次方的和,即N=nP+-nkP.如果有多种方案,那么选择底数和n1+-+nK最大的方案,如果还有多种方案,那么选择 ...
- 经典迷宫问题(C++)简单DFS算法
经典迷宫问题(C++) *给出一个起点S 输入地图 '.' 代表可以走 ' '代表墙壁不能走 'T'代表终点 question:判断是否能够能从到达终点 (不要求最短路径) thinking and ...
- UVA572 Oil Deposits DFS求解
小白书上经典DFS题目. 1. 递归实现 // from: https://www.cnblogs.com/huaszjh/p/4686092.html#include <stdio.h> ...
- 经典回溯之火柴拼正方形
473. 火柴拼正方形 给定很多小短火柴,拼成一个正方形 用到的技巧 1. 排序,传参数,起到剪枝的效果,排序后前面搜索过的在下层时直接跳过,具体体现为 for (int i = idx;i< ...
- DFS - leetcode-岛屿问题(合集)
在 leetcode 上写 DFS 时,看到了 nettee 老哥的-DFS 框架,于是写了几道 岛屿问题 练练手 岛屿问题: 200. 岛屿数量 三种解法:DFS.BFS.并查集(这里主要记录 DF ...
- 【集训】DFS/BFS专训3
DFS/BFS专训3 文章目录 DFS/BFS专训3 A. 生日蛋糕 B. 埃及分数 C. 最优贸易 D. 关系网络 E. 四色地图 F. 小猫爬山 G. 最大黑区域 H. 引水入城 I. 武士风度的 ...
- Java实现 LeetCode 638 大礼包(阅读理解题,DFS)
638. 大礼包 在LeetCode商店中, 有许多在售的物品. 然而,也有一些大礼包,每个大礼包以优惠的价格捆绑销售一组物品. 现给定每个物品的价格,每个大礼包包含物品的清单,以及待购物品清单.请输 ...
- ACM题集以及各种总结大全(转)
ACM题集以及各种总结大全! 虽然退役了,但是整理一下,供小弟小妹们以后切题方便一些,但由于近来考试太多,顾退役总结延迟一段时间再写!先写一下各种分类和题集,欢迎各位大牛路过指正. 一.ACM入门 关 ...
最新文章
- Spock测试框架中的注解使用
- python 教程 网盘-python教程网盘
- iPhone 12明天凌晨发布,有望推动苹果市值超过2.2万亿美元
- manjaro软件源报错 不停看到错误 “PackageName: signature from “User <email@archlinux.org>“ is invalid“ 的几种解决方法
- kubernetes存储系统介绍(Volume、PV、dynamic provisioning,阿里云服务器nfs创建pv,hostpath创建pv)
- bzoj 3674 可持久化并查集加强版——可持久化并查集
- spss进行主成分分析
- Blumind 思维图软件
- 用evo工具分析ORB-SLAM2运行TUM,KITTI,EuRoC数据集轨迹
- win10-11全版本下载地址MSDN纯净版ISO-20220217更新
- 第22章:针对Cloze Tests基于Attention机制的的MRC领域开山之作:Teaching Machines to Read and Comprehend架构设计及完整源码实现
- 联通光猫HG2543C1改桥接备忘
- Python中调用Linux命令之os.system、os.popen
- 俞敏洪一分钟励志演讲
- Windows版Docker桌面
- 图像处理--医疗图片的处理
- Goddy服务器配置
- Centos7搭建Squid代理服务器
- 前端开发文档-学习笔记
- 推荐给你的一个读书清单
热门文章
- java集群之间共享数据_多个JVM之间,数据共享的问题?
- 拓扑链表c语言,数据结构2.2 链表的实现
- mysql 如何抓慢查询_如何进行 MySQL慢查询 操作
- Linux 内核C -- 第02课:驱动中的指定初始化
- 第二章 驱动程序调测方法与技巧
- Linux内核中的PID散列表实例
- python中字符编码:coding utf-8, unicde, defaultencoding, UnicodeDecodeError, UnicodeEncodeError
- java面试基础_java面试之基础(总结)
- linux 运行菜刀,Linux部署常用命令
- linux查看yum源信息,Linux系统配置163或sohu yum源