题目链接: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)相关推荐

  1. dijkstra算法_Python实现图的经典DFS、BFS、Dijkstra、Floyd、Prim、Kruskal算法

    讲在前面的话,图的算法太多,理论知识肯定一篇文章讲不完,关于理论知识大家可以参考教材Sedgewick的<算法>或reference的链接,本文主要还是想在一篇文章中记录六种算法的Pyth ...

  2. dfs时间复杂度_Python实现图的经典DFS、BFS、Dijkstra、Floyd、Prim、Kruskal算法

    讲在前面的话,图的算法太多,理论知识肯定一篇文章讲不完,关于理论知识大家可以参考教材Sedgewick的<算法>或reference的链接,本文主要还是想在一篇文章中记录六种算法的Pyth ...

  3. PAT A1103 Integer Factorization整数分解 (经典DFS优化)

    题目 分析 题意 给定正整数N.K.P,将N表示成K个正整数(可以相同,递减排列)的P次方的和,即N=nP+-nkP.如果有多种方案,那么选择底数和n1+-+nK最大的方案,如果还有多种方案,那么选择 ...

  4. 经典迷宫问题(C++)简单DFS算法

    经典迷宫问题(C++) *给出一个起点S 输入地图 '.' 代表可以走 ' '代表墙壁不能走 'T'代表终点 question:判断是否能够能从到达终点 (不要求最短路径) thinking and ...

  5. UVA572 Oil Deposits DFS求解

    小白书上经典DFS题目. 1. 递归实现 // from: https://www.cnblogs.com/huaszjh/p/4686092.html#include <stdio.h> ...

  6. 经典回溯之火柴拼正方形

    473. 火柴拼正方形 给定很多小短火柴,拼成一个正方形 用到的技巧 1.  排序,传参数,起到剪枝的效果,排序后前面搜索过的在下层时直接跳过,具体体现为 for (int i = idx;i< ...

  7. DFS - leetcode-岛屿问题(合集)

    在 leetcode 上写 DFS 时,看到了 nettee 老哥的-DFS 框架,于是写了几道 岛屿问题 练练手 岛屿问题: 200. 岛屿数量 三种解法:DFS.BFS.并查集(这里主要记录 DF ...

  8. 【集训】DFS/BFS专训3

    DFS/BFS专训3 文章目录 DFS/BFS专训3 A. 生日蛋糕 B. 埃及分数 C. 最优贸易 D. 关系网络 E. 四色地图 F. 小猫爬山 G. 最大黑区域 H. 引水入城 I. 武士风度的 ...

  9. Java实现 LeetCode 638 大礼包(阅读理解题,DFS)

    638. 大礼包 在LeetCode商店中, 有许多在售的物品. 然而,也有一些大礼包,每个大礼包以优惠的价格捆绑销售一组物品. 现给定每个物品的价格,每个大礼包包含物品的清单,以及待购物品清单.请输 ...

  10. ACM题集以及各种总结大全(转)

    ACM题集以及各种总结大全! 虽然退役了,但是整理一下,供小弟小妹们以后切题方便一些,但由于近来考试太多,顾退役总结延迟一段时间再写!先写一下各种分类和题集,欢迎各位大牛路过指正. 一.ACM入门 关 ...

最新文章

  1. Spock测试框架中的注解使用
  2. python 教程 网盘-python教程网盘
  3. iPhone 12明天凌晨发布,有望推动苹果市值超过2.2万亿美元
  4. manjaro软件源报错 不停看到错误 “PackageName: signature from “User <email@archlinux.org>“ is invalid“ 的几种解决方法
  5. kubernetes存储系统介绍(Volume、PV、dynamic provisioning,阿里云服务器nfs创建pv,hostpath创建pv)
  6. bzoj 3674 可持久化并查集加强版——可持久化并查集
  7. spss进行主成分分析
  8. Blumind 思维图软件
  9. 用evo工具分析ORB-SLAM2运行TUM,KITTI,EuRoC数据集轨迹
  10. win10-11全版本下载地址MSDN纯净版ISO-20220217更新
  11. 第22章:针对Cloze Tests基于Attention机制的的MRC领域开山之作:Teaching Machines to Read and Comprehend架构设计及完整源码实现
  12. 联通光猫HG2543C1改桥接备忘
  13. Python中调用Linux命令之os.system、os.popen
  14. 俞敏洪一分钟励志演讲
  15. Windows版Docker桌面
  16. 图像处理--医疗图片的处理
  17. Goddy服务器配置
  18. Centos7搭建Squid代理服务器
  19. 前端开发文档-学习笔记
  20. 推荐给你的一个读书清单

热门文章

  1. java集群之间共享数据_多个JVM之间,数据共享的问题?
  2. 拓扑链表c语言,数据结构2.2 链表的实现
  3. mysql 如何抓慢查询_如何进行 MySQL慢查询 操作
  4. Linux 内核C -- 第02课:驱动中的指定初始化
  5. 第二章 驱动程序调测方法与技巧
  6. Linux内核中的PID散列表实例
  7. python中字符编码:coding utf-8, unicde, defaultencoding, UnicodeDecodeError, UnicodeEncodeError
  8. java面试基础_java面试之基础(总结)
  9. linux 运行菜刀,Linux部署常用命令
  10. linux查看yum源信息,Linux系统配置163或sohu yum源