UVA 11624 Fire! ([kuangbin带你飞]专题一 简单搜索)

SAP-MM-采购申请字段解析 采购申请抬头以及行项目字段解析 阅读详情

题目:题目

大意:在迷宫中,人J逃出去,,,出区域就算,迷宫中还有火,火会像四周蔓延,人不能走火易经到达的位置,求最短多长时间能出来

解体思路:用两次bfs,第一次记录火到每个地点的时间,第二次求人道每个地方的时间,但是要求,人到的哪个位置的时间i火要早


#include<cstdio>
#include<algorithm>
#include<cstring>
#include<string>
#include<queue>
#include<iostream>
using namespace std;
int n,m;
const int maxn = 1000+10;
string mp[maxn];
struct Node{
	int x;int y;int t;
	Node(){};
	Node(int xx,int yy,int tt):x(xx),y(yy),t(tt){};
}start;
bool vis[maxn][maxn];
int dir[4][2]={{-1,0},{1,0},{0,-1},{0,1}};
int ts[maxn][maxn];
queue<Node> q;
const int inf = 0x3f3f3f3f;

bool ok(int x,int y){
	if(x >= 0 && x < n && y >= 0 && y < m) return true;
	return false;
}
void init(){
	bool isfire = false;
	while(!q.empty()) q.pop();
	memset(ts,inf,sizeof(ts));			这里把火的位置初始化最大值,开始都是0WA了, 
	memset(vis,false,sizeof(vis));
	for(int i=0;i<n;i++){
		for(int j=0;j<m;j++){
			if(mp[i][j]=='J'){		//记录人的坐标 
				start.x=i;
				start.y=j;
				start.t=0;
			}
			if(mp[i][j]=='F'){		//记录火的其实坐标放进队列中 
				isfire=true;
				vis[i][j]=true;
				ts[i][j]=0;
				q.push(Node(i,j,0));
			}
		}
	}
	if(!isfire)
		return ;
	while(!q.empty()){			//求火的位置并进行记录 
		Node temp = q.front();
		q.pop();
		for(int i=0;i<4;i++){
			int dx=temp.x+dir[i][0];
			int dy=temp.y+dir[i][1];
			if(ok(dx,dy) && !vis[dx][dy] && mp[dx][dy]=='.'){
				vis[dx][dy]=true;
				ts[dx][dy]=temp.t+1;		
				q.push(Node(dx,dy,temp.t+1));
			} 
		}
	}
}

int bfs(){					
	while(!q.empty()) q.pop();
	q.push(start);
	memset(vis,false,sizeof(vis));
	vis[start.x][start.y]=true;
	while(!q.empty())				//求人的位置 
	{
		Node temp = q.front();
		q.pop();
		for(int i=0;i<4;i++){
			int dx=temp.x+dir[i][0];
			int dy=temp.y+dir[i][1];
			if(!ok(dx,dy)) return temp.t+1;
			if(!vis[dx][dy] && mp[dx][dy]=='.' && temp.t+1<ts[dx][dy])
			{
				q.push(Node(dx,dy,temp.t+1));
				vis[dx][dy]=true;
			}
		}
	}
	return inf;

}

int main()
{

	int t;
	scanf("%d",&t);
	while(t--){
		scanf("%d%d",&n,&m);
		for(int i=0;i<n;i++){
			cin>>mp[i];
		}
		init();
		int ans=bfs();
		if(ans!=inf){
			printf("%d\n",ans);
		}
		else{
			printf("IMPOSSIBLE\n");
		}
	}
	return 0;
}


ROS入门教程(七)—— Gazebo与RViz联合仿真 通过Gazebo与RViz联合仿真实现机器人运动。 阅读详情

相关推荐

torchsparse安装

torchsparse安装以及安装失败原因分析和解决

AI_BING_的博客 1万+

kuangbin专题一 简单搜索 J - Fire!

J - Fire!#include&lt;iostream&gt; #include&lt;cstring&gt; #include&lt;queue&gt; using namespace std; const int _max=1200; const int _m=999999; struct node{ int x,y; int t; };...

Unclebighead的博客 434

open-web UI 实用指南

open-web UI 类似于chatgpt的界面,可以私有化模型本地部署,也可以用商业模型.本文只是用开源模型. 它以实现多模态AI聊天 , AI 翻译 , 语音转文本, 文本转语音, 文生图,代码助手,可谓利器。

szmars的博客 3万+

Fire!

题目链接讲真,一开始没有思路的,想着同时进行根本没有办法,进行模拟。看了别人的题解,瞬间明白了,先进性预处理,这样的话,我们就可以标记下每个点被燃烧的时间点,这样只要在这个时间点前到达的话,就可以走到这个点。两次BFS(),感觉真是太奇妙了。还有坑点,就是这地方有草,但是可能烧不到,一定要注意这种情况,就是标记能不能烧到#include<stdio.h> #include<string.h> #in

海绵的博客 729

Linux8.3上装Oracle 19c RAC,ssh互信总报INS-06006?别急着下补丁,试试这个临时替换scp的骚操作

本文针对在Linux 8.3上安装Oracle 19c RAC时遇到的SSH互信报错INS-06006问题,提供了一个无需官方补丁的临时解决方案。通过创建SCP包装脚本并添加-T参数,有效解决了OpenSSH 8.x版本与Oracle安装程序的兼容性问题,帮助用户顺利完成安装流程。

weixin_30764883的博客 402

TLF35584 窗口看门狗_理论篇

1)看门狗的结果(有效或无效触发)由相关的看门狗故障计数器独立监控。2)窗口看门狗的状态是WWO,它可能有“有效WWD触发”或“无效WWD触发”值。

舊梦的博客 2523

UVA11624 Fire(两次BFS+数组记录)

题意 给定一个n*m的矩阵,其中‘J’表示人,‘F’表示火,‘#’表示墙,‘.’表示通道。火每分钟朝四周蔓延一个格子,人每分钟也只能从四周走一个格子,为墙的格子火和人都不能走。求人能否逃出矩阵。 解题 先从火开始进行bfs,并用d[i][j]表示火到达第i行第j列所需的最短时间。再从人开始bfs,加一个到下一个格子的时间必须小于d[i][j]的限制。 一开始TLE了一发,想了想就进行了两次...

EnjoyingAC的博客 565

YOLO26 多模态融合技术:RGB+红外/深度/雷达融合

YOLO(You Only Look Once)是一种流行的目标检测算法,其最大特点是快速且端到端地完成图像中所有目标的检测与分类任务。YOLO首次在2016年由Joseph Redmon等人提出,彻底改变了传统目标检测(如R-CNN系列)的思路,被广泛应用于自动驾驶、视频监控、工业质检等场景。

一键难忘的博客 3523

kuangbin群赛-1002-Repeat Number

思路:总共就46个特殊的数字,每个带进区间计算就可以了。 注意处理一下偶数的情况就ok。 比赛的时候漏了一个一百一十一万一千一百一十一,wa到比赛结束,醉了。 #define _CRT_SECURE_NO_WARNINGS #include #include #include #include using namespace std; int a[] = { 11, 22, 33, 44,

Jason 741

数据服务:数据服务框架Magic-API 介绍及实践

接口快速开发框架 基于Java的接口快速开发框架,编写接口将通过magic-api提供的UI界面完成,自动映射为HTTP接口,无需定义Controller、Service、Dao、Mapper、XML、VO等Java对象即可完成常见的HTTP API接口开发 。在线页面快速开发平台 基于 vue 的在线页面快速开发平台,主要把所有的 vue 代码都改为在线配置,最终获得一个 json 格式的页面新一代爬虫平台 基于Java实现的新一代爬虫平台,以图形化方式定义爬虫流程,不写代码即可完成爬虫。今天给大家安利一

GIS摆渡人 2063

canoe安装完成开启之后因为VectorDeviceParams30_64.dll报错崩溃打不开...如何解决?

🏆本文收录于 《全栈 Bug 调优(实战版)》 专栏。专栏聚焦真实项目中的各类疑难 Bug,从成因剖析 → 排查路径 → 解决方案 → 预防优化全链路拆解,形成一套可复用、可沉淀的实战知识体系。无论你是初入职场的开发者,还是负责复杂项目的资深工程师,都可以在这里构建一套属于自己的「问题诊断与性能调优」方法论,助你稳步进阶、放大技术价值。

**My Coding Family** 1077

UVA - 11624 [kuangbin带你飞]专题一 简单搜索 I - Fire!

题目链接:https://cn.vjudge.net/problem/UVA-11624 题意: 人和火每分钟移动一个方格,上、下、左、右,四个方向中的一个。火势向四个方向同时蔓延。人可以从迷宫的任何一个边界逃离迷宫。无论是人还是火都不会到达有墙的位置。 题中说到人只有一个,火有很多,所以无法用正常的搜索来写。因为要判断人走出去的边界,和火的边界无法进行同时入队,所以我们对火进行预处理,让...

nEo.大魔王 416

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

UVA 11624 Fire!(kuangbin带你飞 专题一:简单搜索)

不得不吐槽UVA返回结果速度之慢....先BFS跑一边火能烧到所有点的最早时间并记录,然后在BFS人逃命的最短时间...,走到某一点如果这个点在这个时间没有火才能走... #include #include #include #include #include #include #include using namespace std; char map[1002][1002]; int r,c

501

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

[kuangbin带你飞]专题一 简单搜索J - Fire!(UVA 11624)

J - Fire! Time Limit:1000MS     Memory Limit:0KB     64bit IO Format:%lld & %llu Submit Status Practice UVA 11624 Appoint description:  System Crawler  (2015-11-09) Description

ZZ_AC的博客 886

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

[kuangbin带你飞]专题一 简单搜索 J - Fire! UVA 11624

J - Fire! Time Limit:1000MS     Memory Limit:0KB     64bit IO Format:%lld & %llu Submit Status Practice UVA 11624 Appoint description:  System Crawler  (2015-11-09) Description

qq1319479809的博客 372

kuangbin专题 专题一 简单搜索 Fire! UVA - 11624

Fire! UVA - 11624 题目链接:https://vjudge.net/problem/UVA-11624 题意:一个迷宫,可能有一个或者多个地方着火了,每过1个时间消耗,火会向四周蔓延,问Joe能不能逃出迷宫,只要走出迷宫边界就算逃出,火和Joe都不能透过墙。 思路:人和火源分别跑bfs,人一张地图,火源一张地图,跑各自能到达点的时间,火源可能有多个,最后只需要判断迷宫的四个边中人和...

SSummerzz的博客 329

[kuangbin]专题一 简单搜索 Fire! UVA - 11624【BFS】

【题目描述】 Joe works in a maze. Unfortunately, portions of the maze have caught on fire, and the owner of the maze neglected to create a fire escape plan. Help Joe escape the maze. Given Joe’s location in...

inv0ker的博客 234

UVA - 11624 Fire! (kuangbin - 简单搜索)

题目描述(已转换成中文)   乔在迷宫中工作。不幸的是,迷宫的一部分着火了,迷宫的主人没有制定火灾的逃跑计划。请帮助乔逃离迷宫。根据乔在迷宫中的位置以及迷宫的哪个方块着火,你必须确定火焰烧到他之前,乔是否可以离开迷宫,如果能离开他能跑多快。   乔和火每分钟移动一个方格,上、下、左、右,四个方向中的一个。火势向四个方向同时蔓延。乔可以从迷宫的任何一个边界逃离迷宫。无论是乔还是火都不会到达有墙的位置。 输入格式   第一行输入包含一个整数,即测试次数,每个测试用例的第一行包含两个整数R和C,用空格分隔,1≤R

iamcht的博客 375

[kuangbin]Fire! UVA11624 | 简单搜索、双层BFS

题目描述 乔在迷宫中工作。不幸的是,迷宫的一部分着火了,迷宫的主人没有制定火灾的逃跑计划。请帮助乔逃离迷宫。根据乔在迷宫中的位置以及迷宫的哪个方块着火,你必须确定火焰烧到他之前,乔是否可以离开迷宫,如果能离开他能跑多快。 乔和火每分钟移动一个方格,上、下、左、右,四个方向中的一个。火势向四个方向同时蔓延。乔可以从迷宫的任何一个边界逃离迷宫。无论是乔还是火都不会到达有墙的位置。 输入 第一...

一只酷酷光儿的博客 1424

[kuangbin带你飞]专题一 简单搜索 J - Fire!

UVA - 11624 Joe works in a maze. Unfortunately, portions of the maze have caught on fire, and the owner of the maze neglected to create a fire escape plan. Help Joe escape the maze. Given Joe’s locat...

weixin_40829921的博客 287

[kuangbin带你飞] 专题一 简单搜索

A - 棋盘问题 POJ - 1321 B - Dungeon Master POJ - 2251 C - Catch That Cow POJ - 3278 D - Fliptile 二进制枚举 E - Find The Multiple 两种选项的搜索 G-Prime Path POJ-3126 H-Pots POJ - 3414 I - Fire Game FZU - 2150 J - Fi...

我于万物之中 197

[kuangbin带你飞]专题1 简单搜索 J - Fire! UVA - 11624

题目: Joe works in a maze. Unfortunately, portions of the maze have caught on fire, and the owner of the maze neglected to create a fire escape plan. Help Joe escape the maze. Given Joe's locati

Reast1nPeace的博客 1161

kuangbin专题——Fire! (UVA - 11624)

题目链接 题目大意: 一个二维地图,地图上有墙、火源和人,火每次都上下左右波及燃烧到,人每次可以上下左右选择一个方向走, 问:人能不能走出这个地图(从地图边缘走出去),因为人走的时候火也在燃烧,人能走出去的话最快需要几步 注意: 火源可以有多处 思路分析: 我首先想到的是火跑bfs,人跑dfs,但是写出来当时不知道哪里错了,样例都没过看了别人的博客才知道火源是可能有多个的 我代码的思路是进入通过传入的参数判断是人还是火进入的BFS,如果是人呢就把人的坐标推到队列里然后BFS,如果是火呢就全部遍历每找到一

NGUP_LEE的博客 181

[kuangbin带你飞]专题一 简单搜索 刷题总结

人生第一次刷完一个专题。 虽然是一个入门专题,我觉得对我来说意义蛮大。希望继续保持,慢慢来,比较快。 总的来说难度不大,水题偏多,但是也不可小觑,有很多细节如果没有注意到就会各种报错WA,MLE,TLE,RE,CE之类的。 题解稍后贴上。

xyry 608

UVA 11624 Fire!(BFS)

Joe works in a maze. Unfortunately, portions of the maze have caught on fire, and the owner of the maze neglected to create a fire escape plan. Help Joe escape the maze. Given Joe’s location in the ma...

H4ppyD0g的博客 277
上一篇: FZU 2150 Fire Game ([kuangbin带你飞]专题一 简单搜索)
下一篇: HDU 5584 LCM Walk(2015-ICPC-上海赛区)
Strive_Buff
博客等级 码龄11年 4粉丝 80原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值