博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【luogu P2298 Mzc和男家丁的游戏】 题解
阅读量:5321 次
发布时间:2019-06-14

本文共 1286 字,大约阅读时间需要 4 分钟。

题目链接:

对于迷宫问题,bfs是比较好的选择。

直接bfs模板

#include 
#include
#include
using namespace std;char a[2001][2001];int fx[4] = {
1,0,-1,0};int fy[4] = {
0,1,0,-1};int n,m,sx,sy,ex,ey;struct point{ int x,y,t;}q[4000001];void dfs(){ int head = 1,tail = 2; q[head].x = sx, q[head].y = sy, q[head].t = 0; while(head != tail) { for(int i = 0; i < 4; i++) { int nowx = q[head].x+fx[i]; int nowy = q[head].y+fy[i]; if(nowx == ex && nowy == ey) { printf("%d",q[head].t+1); return ; } if(nowx > n || nowx <= 0 || nowy > m || nowy <= 0 || a[nowx][nowy] == '#') continue; a[nowx][nowy] = '#'; q[tail].x = nowx; q[tail].y = nowy; q[tail].t = q[head].t+1; tail++; } head++; } printf("No Way!");}int main(){ cin>>n>>m; for(int i = 1; i <= n; i++) for(int j = 1; j <= m; j++) { cin>>a[i][j]; if(a[i][j]=='d') { ex = i; ey = j; } if(a[i][j]=='m') { sx = i; sy = j; } } dfs(); return 0;}

 

转载于:https://www.cnblogs.com/MisakaAzusa/p/8551931.html

你可能感兴趣的文章
AQS学习笔记之独占锁
查看>>
正则的分组
查看>>
PAT乙级 解题目录
查看>>
设置debian6源
查看>>
JS 设计模式八 -- 发布订阅者模式
查看>>
Ubuntu 12.04安装bochs 2.3.5
查看>>
【LeetCode】124. Binary Tree Maximum Path Sum
查看>>
AS ShortCut
查看>>
Sql Server 存储过程
查看>>
POJ 1062 昂贵的聘礼
查看>>
computed 计算属性
查看>>
将模块代码量精简为2%的实践
查看>>
C#在Linux上的开发指南(续)
查看>>
关于异或XOR的一些理解
查看>>
libuv中的Barrier
查看>>
2016012068+小学四则运算软件项目汇报
查看>>
变量的存储方式和生存周期
查看>>
数据库系统概论(第四版)习题解答
查看>>
(08)mongodb 导入导出
查看>>
【转】/bin/bash^M: bad interpreter: No such file or directory
查看>>