文章
17
粉丝
0
获赞
119
访问
4.6k
#include <iostream>
#include <cstring>
#include <queue>
using namespace std;
// 定义地图大小和访问数组
char m[35][35]; // 存储地图,'.' 表示空地,'*' 表示起点,'#' 表示毒气,'X' 表示墙
int visit[35][35]; // 访问标记数组
int dir[4][2]={{0,1},{0,-1},{1,0},{-1,0}}; // 四个方向的移动:右、左、下、上
// 定义搜索节点结构
struct node{
int sx; // x坐标
int sy; // y坐标
int step; // 从起点到当前位置的步数
};
int main(){
int h,w,t; // h:高度,w:宽度,t:时间限制
while(cin>>h>>w>>t){
// 初始化地图和访问数组
memset(m, 0, sizeof(m));
memset(visit, 0, sizeof(visit));
node start; // 起点位置
cin.ignore(); // 忽略输入缓冲区中的换行符
// 读入地图
for (int i = 1; i <= h; ++i) {
string line;
getline(cin, line);
int len=line.size();
for (int j = 1; j <= w; ++j) {
if (j-1 < len)
m[i][j] = line[j-1]; // 从(1,1)开始存储地图
if (m[i][j] == '*') { // 找到起点
start = {i, j, 0}; // 记录起点位置
m[i][j] = '#'; // 起点立即被毒气覆盖
v...
登录后发布评论
暂无评论,来抢沙发