文章

17

粉丝

0

获赞

119

访问

4.6k

头像
生化武器 题解:
P1126
发布于2025年3月8日 11:22
阅读数 242

#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...

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发