P2298 Mzc和男家丁的游戏

news/2024/11/20 21:25:12/

原题链接

最短路BFS模型(01距离)

#include <bits/stdc++.h>
#define x first
#define y secondusing namespace std;
const int N = 2010;
char g[N][N];
int dist[N][N];
bool st[N][N];
typedef pair<int, int> PII;
queue<PII> q;
int n, m;
int dx[4] = {-1, 0, 1, 0}, dy[4] = {0, 1, 0, -1};int bfs()
{int sx, sy, x2, y2;for (int i = 1; i <= n; i ++ )for (int j = 1; j <= m; j ++ )if(g[i][j] == 'm')  sx = i, sy = j;else if (g[i][j] == 'd')    x2 = i, y2 = j;memset(dist, 0x3f, sizeof dist);memset(st, 0, sizeof st);dist[sx][sy] = 0;st[sx][sy] = true;q.push({sx, sy});while(q.size()){auto t = q.front();q.pop();if(t.x == x2 && t.y == y2)return dist[t.x][t.y];for (int i = 0; i < 4; i ++ ){int a = t.x + dx[i], b = t.y + dy[i];if(a < 1 || a > n || b < 1 || b > m || st[a][b] || g[a][b] == '#')  continue;st[a][b] = true;dist[a][b] = dist[t.x][t.y] + 1;q.push({a, b});}}return dist[x2][y2];
}int main()
{cin >> n >> m;for (int i = 1; i <= n; i ++) for (int j = 1; j <= m; j ++)cin >> g[i][j];int t = bfs();if(t == 0x3f3f3f3f) puts("No Way!");else    cout << t << endl;return 0;
}


http://www.ppmy.cn/news/140671.html

相关文章

玩游戏用什么蓝牙耳机好?玩游戏最好的蓝牙耳机推荐

用蓝牙耳机打过游戏的都知道&#xff0c;蓝牙耳机或多或少会存在延迟&#xff0c;有些延迟可以明显地感受到&#xff0c;这就很影响游戏体验&#xff01;近年来&#xff0c;伴随科技的发展&#xff0c;蓝牙耳机的延迟也有了一定的优化。那么&#xff0c;玩游戏用什么蓝牙耳机好…

C++小游戏——坦克大战

2D单机游戏&#xff0c;有不同关卡&#xff0c;难度逐关增加。里规格&#xff1a;长39*278 &#xff08;真坐标&#xff09;(假坐标宽为39) 高39&#xff0c;外规格&#xff1a;长41*282 &#xff08;真坐标&#xff09;(假坐标宽为41) 高41。 玩法&#xff1a;玩家操纵坦克&am…

基于MFC/WIN32写的坦克游戏

基于MFC/WIN32写的坦克游戏 本着学习的目的&#xff0c;最近尝试着编写一个游戏&#xff0c;整个项目使用MFC/WIN32来编写。未采用游戏引擎&#xff0c;主要的原因是想从基础出发&#xff0c;在重复造轮子的过程当中学习体会他人写游戏引擎的伟大之处&#xff0c;等用MFC/WIN3…

计算机游戏cpu,玩游戏选什么CPU 10款2017适合玩游戏的处理器推荐 (全文)

对于喜欢玩游戏的DIY装机朋友来说,玩什么游戏决定买什么CPU和显卡,此前我们已经在《玩什么游戏决定买什么显卡 6款游戏显卡推荐》一文中,带来了多款2017年值得买的游戏显卡,接下来今天电脑百事网再来推荐几款适合玩游戏的处理器,适合2017游戏装机友考虑,大家不妨根据自己…

计算机缺失binkw32.dll,Win10玩游戏报错“计算机丢失binkw32.dll”如何解决?

【PConline资讯】很多伙伴在Win10系统下玩游戏时&#xff0c;都会遇到“计算机丢失binkw32.dll”的提示&#xff0c;那么碰到这种错误该如何解决呢&#xff1f;大家请看下文操作&#xff01; Win10玩游戏报错“计算机丢失binkw32.dll”的解决办法&#xff1a; 一、binkw32.dll文…

Scratch编程与游戏之坦克炮弹V2!

注&#xff1a;这个游戏需要用到积木模块&#xff1a;动作、声音、控制、事件&#xff08;V2多了一个通知&#xff09; 游戏要求&#xff1a;我们绘制一辆坦克&#xff0c;它可以使用数字键盘中的上下左右键的进行移动&#xff0c;移动时会有声效&#xff0c;并且使用键盘空格键…

Win32游戏编程

摘 要 Visual C作为一个功能非常强大的可视化应用程序开发工具&#xff0c;是计算机界公认的最优秀的应用开发工具之一。本文介绍的就是在Visual C.NET下开发Win32游戏软件的流程。通过游戏编程熟练掌握了Visual C这个应用开发工具。 本文共四章&#xff1a; 第一章 Win32游…

如何在Linux上玩游戏

文章目录 前言一、在软件管家 安装 小游戏二、大型单机游戏Steam三、网上下载打包程序总结最后 前言 博主机器&#xff1a; Ubuntu 18.04 amd64位 集显 最近要下载的东西很多&#xff0c;无聊的时间想玩玩游戏&#xff0c;发现linux玩游戏很不方便&#xff0c;特别是 玩单机环…