SDUT 1269 走迷宫(BFS)
题意:中文不详述。
思路 :上上上场比赛让一个BFS给虐了,上次比赛让一个三维的给废掉了。。。。。。。所以急于从水题刷起。。。。。。还因为数组开小了WA了5,6次
#include <iostream>
#include <stdio.h>
#include <string.h>
#include <algorithm> using namespace std; int m,n,sx,sy,ex,ey ;
int mapp[][] ;
int vis[][] ;
int mpx[],mpy[] ;
int dire[][] = {{,-},{-,},{,},{,}} ;
int flag ;
int step ; void DFS(int x,int y)
{
if(x == ex && y == ey)
{
flag = ;
for(int i = ; i < step ; i++)
printf("(%d,%d)->",mpx[i],mpy[i]) ;
printf("(%d,%d)\n",ex,ey) ;
}
else
{
for(int i = ; i < ; i++)
{
int xx = x+dire[i][] ;
int yy = y+dire[i][] ;
if(mapp[xx][yy] && xx >= && xx <= m && yy >= && yy <= n && !vis[xx][yy])
{
step++ ;
vis[xx][yy] = ;
mpx[step] = xx ;
mpy[step] = yy ;
DFS(xx,yy) ;
vis[xx][yy] = ;
step-- ;
}
}
}
}
int main()
{
while(~scanf("%d %d",&m,&n))
{
memset(vis,,sizeof(vis)) ;
memset(mpx,,sizeof(mpx)) ;
memset(mpy,,sizeof(mpy)) ;
for(int i = ; i <= m ; i++)
for(int j = ; j <= n ; j++)
scanf("%d",&mapp[i][j]) ;
scanf("%d %d",&sx,&sy) ;
scanf("%d %d",&ex,&ey) ;
step = ;
mpx[] = sx ;
mpy[] = sy ;
vis[sx][sy] = ;
flag = ;
DFS(sx,sy) ;
if(!flag)
printf("-1\n") ;
}
return ;
}
SDUT 1269 走迷宫(BFS)的更多相关文章
- sdut 2449走迷宫【最简单的dfs应用】
走迷宫 Time Limit: 1000ms Memory limit: 65536K 有疑问?点这里^_ 题目描述 一个由n * m 个格子组成的迷宫,起点是(1, 1), 终点是(n, m) ...
- Applese走迷宫-bfs
链接:https://ac.nowcoder.com/acm/contest/330/C来源:牛客网 题目描述 精通程序设计的 Applese 双写了一个游戏. 在这个游戏中,它被困在了一个 n×mn ...
- HDU 2102 A计划(BFS/DFS走迷宫)
A计划 Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submis ...
- hdu_1728_逃离迷宫(bfs)
题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=1728 题意:走迷宫,找最小的拐角 题解:对BFS有了新的理解,DFS+剪枝应该也能过,用BFS就要以拐 ...
- 一本通之 一堆迷宫 (Dungeon Master&走出迷宫&走迷宫)
一本通在线崩溃....... . 有图有真相 这是个三维迷宫,其实和二位迷宫差不多,只是方向多加了2个. 但这个题的输入十分恶心,一度被坑的用cin.ignore(),但还是不过... 它的正确输入方 ...
- zzuli 1726 迷宫 BFS(题意)
1726: 迷宫 Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 502 Solved: 80 SubmitStatusWeb Board Descri ...
- 【BZOJ2707】[SDOI2012]走迷宫 Tarjan+拓扑排序+高斯消元+期望
[BZOJ2707][SDOI2012]走迷宫 Description Morenan被困在了一个迷宫里.迷宫可以视为N个点M条边的有向图,其中Morenan处于起点S,迷宫的终点设为T.可惜的是,M ...
- Java基于OpenCV实现走迷宫(图片+路线展示)
Java基于OpenCV实现走迷宫(图片+路线展示) 由于疫情,待在家中,太过无聊.同学发了我张迷宫图片,让我走迷宫来缓解暴躁,于是乎就码了一个程序出来.特此记录. 原图: 这张图,由于不是非常清晰, ...
- 百炼3752:走迷宫--栈实现dfs
3752:走迷宫 总时间限制: 1000ms 内存限制: 65536kB 描述 一个迷宫由R行C列格子组成,有的格子里有障碍物,不能走:有的格子是空地,可以走.给定一个迷宫,求从左上角走到右下角最 ...
随机推荐
- dede常用命令
获取日期:全局:{dede:field.pubdate function="MyDate('Y-m-d H:i',@me)"/} 局部:[field:pubdate funct ...
- angularjs的一些优化小技巧
尽可能少调用 ng-repeat ng-repeat默认会创建很多监听器,所以在数据量很大的时候,这个非常消耗页面性能,我觉的只有在当需要经常更新数据列表的时候才需要用ng-repeat,要不然放那么 ...
- ajax发送请求
首先创建XMLHttpRequest对象,利用此对象发送请求 主页面 <!doctype html> <html lang="en"> <head&g ...
- HttpClient的使用
HttpClient的使用 一.简介 HttpClient是Apache Jakarta Common下的子项目,用来提供高效的.最新的.功能丰富的支持HTTP协议的客户端编程工具包,并且它支持HTT ...
- Java编写ArrayBasic制作一个简单的酒店管理系统
听老师讲了一些ArrayBasic的一些知识,让制作一个酒店管理系统,要求:显示酒店所有房间列表,预订房间.... 经过老师的指导写了一个代码,如下: import java.util.Scanner ...
- Swift学习的新工具---REPL
从xcode6.1开始,苹果官方提供了一个新的辅助开发swift的工具,即repl(read eval print loop) OS X Yosemite系统下,打开终端应用程序,输入swift: 如 ...
- 使用resumable.js上传大文件(视频)兵转换flv格式
前台代码 <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Video.asp ...
- vs调试windows mobile程序时布署时间太长的解决办法
vs调试windows mobile程序时布署时间太长的解决办法 1.VS平台上,选工具-选项-项目和解决方案-MS BUILD项目生成输出详细信息中选择“诊断”,目的是在调试窗口中看出哪个过程编译的 ...
- dorado需要的包
创建dorado示例中心项目WEB-INF下的lib里的包有很多,包括连接数据库的完整的包,新建的项目,可以直接从这里面拷贝包. 当然如果需要连接mySql数据库,还需要手动导入mySql的包.
- debian 学习记录-4 -关于linux -2
来源:<Debian标准教程>王旭 著 Slackware.Debian.RedHat.SuSE 这4种发布版是当今大部分发布版的前去,虽然SuSE衍生自Slackware,但由于其技术变 ...