UVa 11624 Fire!

STM32HAL库 基于外部Flash+FatFs模拟U盘方式进行固件拷贝升级(详解) STM32HAL库 基于外部Flash+FatFs模拟U盘方式进行固件拷贝升级 阅读详情

谁能帮我看看为什么第一份代码是AC,而第二份是WA呢- -!,就改了起火时间bfs那个判断条件而已

AC

#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <cmath>
#include <vector>
#include <map>
#include <queue>
#include <ctime>
#include <set>
#include <deque>
#include <string>
#define MP make_pair
#define PB push_back
#define SZ(x) ((int)(x).size())
#define REP(i,n) for (int _n=n,i=0; (i)<_n; ++(i))
#define FOR(i,a,b) for (int _b=b,i=(a);i<=_b;++(i))
#define FOREACH(it,c) for ( __typeof((c).begin()) it=(c).begin(),ite=(c).end(); it!=ite; ++it )
int rint() { int x; if(~scanf("%d",&x)) return x; return -1; }
typedef long long LL;
const int inf=~0U>>1;
using namespace std;

const int maxN=1010;
int t,n,m,dx[]={-1,1,0,0},dy[]={0,0,-1,1},sx,sy,ft[maxN][maxN];
char s[maxN][maxN];
bool vis[maxN][maxN];
struct Node{
	int time,x,y;
	Node(){}
	Node(int _time,int _x,int _y):time(_time),x(_x),y(_y){}
}no;
queue<Node> q;

int main(){
	t=rint();
	while(t--){
		n=rint(),m=rint();
		REP(i,n) scanf("%s",s[i]);
		REP(i,n) REP(j,m) {
			ft[i][j]=inf;
			if(s[i][j]=='F') ft[i][j]=0,q.push(Node(0,i,j));
			else if(s[i][j]=='J') sx=i,sy=j;
		}
		while(!q.empty()){
			no=q.front();
			q.pop();
			REP(i,4){
				int nx=no.x+dx[i],ny=no.y+dy[i];
				if(nx<0||nx>=n||ny<0||ny>=m||s[nx][ny]=='#'||ft[nx][ny]<=no.time+1) continue;
				ft[nx][ny]=no.time+1;
				q.push(Node(ft[nx][ny],nx,ny));
			}
		}/*
		REP(i,n){
			REP(j,m) cout<<ft[i][j]<<" ";
			puts("");
		}*/
		memset(vis,false,sizeof(vis));
		int ans=-1;
		q.push(Node(0,sx,sy));
		vis[sx][sy]=true;
		while(!q.empty()){
			no=q.front();
			q.pop();
			if(ans!=-1) continue;
			REP(i,4){
				int nx=no.x+dx[i],ny=no.y+dy[i];
				if(nx<0||nx>=n||ny<0||ny>=m){
					ans=no.time+1;
					break;
				}
				if(s[nx][ny]=='#'||vis[nx][ny]) continue;
				vis[nx][ny]=true;
				if(ft[nx][ny]<=no.time+1) continue;
				q.push(Node(no.time+1,nx,ny));
			}
		}
		if(ans==-1) puts("IMPOSSIBLE");
		else cout<<ans<<endl;
	}
	return 0;
}


WA

#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <cmath>
#include <vector>
#include <map>
#include <queue>
#include <ctime>
#include <set>
#include <deque>
#include <string>
#define MP make_pair
#define PB push_back
#define SZ(x) ((int)(x).size())
#define REP(i,n) for (int _n=n,i=0; (i)<_n; ++(i))
#define FOR(i,a,b) for (int _b=b,i=(a);i<=_b;++(i))
#define FOREACH(it,c) for ( __typeof((c).begin()) it=(c).begin(),ite=(c).end(); it!=ite; ++it )
int rint() { int x; if(~scanf("%d",&x)) return x; return -1; }
typedef long long LL;
const int inf=~0U>>1;
using namespace std;

const int maxN=1010;
int t,n,m,dx[]={-1,1,0,0},dy[]={0,0,-1,1},sx,sy,ft[maxN][maxN];
char s[maxN][maxN];
bool vis[maxN][maxN];
struct Node{
	int time,x,y;
	Node(){}
	Node(int _time,int _x,int _y):time(_time),x(_x),y(_y){}
}no;
queue<Node> q;

int main(){
	t=rint();
	while(t--){
		n=rint(),m=rint();
		REP(i,n) scanf("%s",s[i]);
		memset(ft,-1,sizeof(ft));
		REP(i,n) REP(j,m) {
			if(s[i][j]=='F') ft[i][j]=0,q.push(Node(0,i,j));
			else if(s[i][j]=='J') sx=i,sy=j;
		}
		while(!q.empty()){
			no=q.front();
			q.pop();
			REP(i,4){
				int nx=no.x+dx[i],ny=no.y+dy[i];
				if(nx<0||nx>=n||ny<0||ny>=m||s[nx][ny]=='#') continue;
				if(ft[nx][ny]!=-1) continue;
				ft[nx][ny]=no.time+1;
				q.push(Node(ft[nx][ny],nx,ny));
			}
		}/*
		REP(i,n){
			REP(j,m) cout<<ft[i][j]<<" ";
			puts("");
		}*/
		memset(vis,false,sizeof(vis));
		int ans=-1;
		q.push(Node(0,sx,sy));
		vis[sx][sy]=true;
		while(!q.empty()){
			no=q.front();
			q.pop();
			if(ans!=-1) continue;
			REP(i,4){
				int nx=no.x+dx[i],ny=no.y+dy[i];
				if(nx<0||nx>=n||ny<0||ny>=m){
					ans=no.time+1;
					break;
				}
				if(s[nx][ny]=='#'||vis[nx][ny]) continue;
				vis[nx][ny]=true;
				if(ft[nx][ny]<=no.time+1) continue;
				q.push(Node(no.time+1,nx,ny));
			}
		}
		if(ans==-1) puts("IMPOSSIBLE");
		else cout<<ans<<endl;
	}
	return 0;
}


微信小程序 - error_msg:net::ERR_CONNECTION_RESET“(“errno“:600001,“errMsg“:“uploadFile:fail errcode:-101) "errno":600001,"errMsg":"uploadFile:fail errcode:-101 cronet_error_code:-101 error_msg:net::ERR_CONNECTION_RESET"微信小程序,微信小程序wx.uploadFile报错,uniapp微信小程序uni.uploadFile上传文件报错,微信小程序调用wx.uploadFile返回错误ERR_CONNECTION_RESET,如何解决这个问题,上传图片出现报错,小程序上传视频报错,上传文件出现报错,如何 阅读详情

相关推荐

EEG信号分析实战:从时域到频域,手把手教你用Python处理脑电数据

本文详细介绍了使用Python进行EEG信号分析的实战方法,涵盖时域分析、频域分析和时频分析三大核心技术。通过MNE-Python等工具,读者将学习如何从原始脑电数据中提取事件相关电位(ERP),解码脑波节律特征,并运用时频分析追踪动态神经活动。教程包含完整的代码示例和认知科学解释,适合神经科学研究者快速掌握EEG分析全流程。

pink的博客 1007

uva 11624 - Fire!(bfs)

题目链接:uva 11624 - Fire! 先从F开始,做一遍BFS,处理出每个位置着火的时间。再从J开始走,每次只能走到着火时间大于当前时间的点。 #include #include #include #include using namespace std; const int maxn = 1005; const int inf = 0x3f3f3f3f;

不慌不忙、不急不躁 568

PX4无人机实战:手把手教你用MAVROS实现Offboard模式(附避坑指南)

本文提供了一份详尽的PX4无人机Offboard模式实战指南,重点解析了如何通过MAVROS实现从仿真到实机的控制。内容涵盖硬件连接、串口权限设置、MAVROS配置、核心代码编写以及实机操作全流程,并附有详细的避坑指南和故障排查手册,帮助开发者快速掌握ROS与PX4飞控的集成开发。

weixin_29172201的博客 267

UVA - 11624 Fire!(BFS+ 思维)

UVA - 11624 Fire! 题目 给一个迷宫,起始位置,还有着火点,每过一个时间,着火点都会蔓延,问最终能否从迷宫逃出。 分析 如果没有着火的情况,直接BFS模板题,加上着火的话,可以预处理每个点被蔓延的时间,到时候 bfsbfsbfs 能不能走出去的时候,不能走当前已经着火的地方。 预处理着火的地方,要将所有起始找着火点都加入初始队列,相当于多个源点。 代码 #include <c...

Stormjing的博客 313

zblog mysql数据库无法连接_ZBlog博客网站错误:MySQL数据库无法连接

前言前天搭建的博客网站,睡醒一觉起来网站挂逼了,其间无任何操作。主页都进不去,提示“MySQL数据库无法连接”,无论怎么刷新重启服务器都没用。最终从中午1点搞到凌晨2点,皇天不负有心人终于解决了。其实问题很简单,只是没这方面的经验,走了很多弯路。我本人并不是搞WEB的,搞这个博客纯碎就是玩玩罢了。处理这个问题的时候查了很久的资料,都是一些没太大意义的,无非就是让你改zb_user/c_option...

weixin_34691461的博客 2205

基于扣子3.0复刻MIT“AI股神团队版”:实时股票数据API接入与策略选股复盘系统

基于扣子3.0的AI量化投资系统摘要 本文提出了一种基于扣子(Coze)3.0平台的AI量化投资解决方案,整合实时股票数据与策略选股功能。系统采用三层架构: 数据层:通过AKShare等开源工具获取A股实时行情和历史K线数据,支持批量数据抓取和清洗 策略层:内置多因子选股模型和技术指标分析模块,实现自动化标的筛选 应用层:利用扣子3.0的插件和工作流功能,构建从数据采集到投资建议的完整流程 系统特点包括:完全开源的数据接入方案、Python实现的策略计算模块、以及扣子平台提供的可视化编排能力~~~~~~~~

huanghm88的专栏 265

UVa 11624 Fire!(着火了!)

UVa 11624 - Fire!(着火了!) Time limit: 1.000 seconds Description - 题目描述   Joe works in a maze. Unfortunately, portions of the maze have caught on fire, and the owner of the maze neglect...

183

第170篇 因子图优化入门——图模型在状态估计中的应用

本文系统介绍了从滤波方法到因子图优化的思维转变,重点解析了因子图的原理与应用。首先对比了递推式滤波(卡尔曼滤波等)与全局优化的区别,指出优化方法能利用所有信息且适合处理稀疏结构。然后详细阐述了因子图的二部图结构(变量节点和因子节点)及其将复杂概率分布分解为小因子乘积的优势。文章讲解了因子图优化如何转化为最小二乘问题,并介绍高斯-牛顿法和LM方法等求解技术。最后对比了g2o、Ceres和GTSAM三大主流框架的特点及适用场景,强调了初始化和鲁棒核函数的重要性,为SLAM相关面试提供了实用建议。

郑伟强dev的专栏 374

Uva 11624 - Fire!

Uva 11624 - Fire! Some of the secret doors contain a very interesting word puzzle. The team of archaeologists has to solve it to open that doors. Because there is no other way to open the doors, the p

long-long-ago 469

[AI] 本地部署 Dify 遇到 Internal Error?一文彻底解决密码不一致引发的问题

摘要:Dify本地部署常见InternalError错误主要由配置残留或密码不一致导致,特别是修改.env文件后未同步清除数据库记录。彻底解决方案包括:1)清理Docker数据;2)删除旧配置和数据库;3)还原源代码;4)重建.env文件;5)重新初始化部署。关键提醒:记录部署路径、备份.env文件并妥善保存密码。该错误本质是配置冲突,最有效方法是完全重置而非调试,保持清晰的部署管理可避免多数InternalError问题。(149字)

技术小甜甜:传播可落地技术,帮助个人和企业降低解决真实场景问题的成本 435

用Virtuoso和Abstract完成gds2lef

需要用到的工具有virtuoso和abstract。 数模混合的项目通常需要模拟完成模块设计,把接去数字的pin打上label(text),数字的floorplan才能正式开始。 如果只需要简单的数字PR boundary和pin点位置,那么只使用virtuoso就够了,还想把模拟版图都转成lef就要用到abstract工具。 1.PR boundary+pin 1)在virtuoso中打开layout a) Gui操作: Create->P&R Objects->

m0_61544122的博客 8742

uva11624 - Fire!

uva11624 - Fire! 火在蔓延,人在走。火会蔓延,不会熄灭,我们可以确定某个点着火的时间(广搜)。对于J来说,要是他走到某点的时间比火蔓延到该点的时间要短,那么他走到该点的时候,火还没蔓延过来,他就可以走到该点,否则,不能进入该点。 数据地图表示: -1 该点是墙或已经走过,不能走 -2 该点是通道还没有走过,火还没蔓延过来,可以走 ...

weixin_30446613的博客 91

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

UVA 11624 - Fire!(BFS)

UVA 11624 - Fire! 题目链接 题意:一个迷宫,一些格子着火了,火每秒向周围蔓延,现在J在一个位置,问他能走出迷宫的最小距离 思路:BFS2次,第一次预处理每个位置着火时间,第二次根据这个再BFS一次 代码: #include #include #include using namespace std; const int d[4][2] = {

Remilia's 1161

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

UVA 11624 Fire!(图论BFS)

UVA 11624 Fire!(图论BFS) 题意:问你Joe需要最少多长时间能走出一个大火蔓延到网格迷宫。迷宫中存在火源和障碍格。 分析: 朴素的做法是用BFS来模拟Joe的走法,然后看他下一步走的格子是否没有火。(判断该格子在当前时刻有没有火,只需要看看与该格子同行或同列的最近火源是哪个,然后算出起火时间即可。这样算可能会超时)        现在由于火源也是和Joe同样的朝4个方向走

code 1524

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

(BFS)UVA11624 Fire!

传送门:UVA11624 Fire!  注意:可能存在多个火源。 #include&lt;cstdio&gt; #include&lt;iostream&gt; #include&lt;algorithm&gt; #include&lt;cstring&gt; #include&lt;cmath&gt; #include&lt;queue&gt; using namespace std;...

239

UVa 11624 Fire!(多源BFS)

题目链接:UVa 11624 Fire! 今晚好不爽! 多源BFS。 先对人BFS一次,再对火BFS一次,可能有好多块火,那么先把所有火都加入队列中。判断一块区域谁先到,找最小的。 一个一个输入会超时,得一行一行输入。 scanf输入字符不会忽略回车和换行。 #include #include #include #include #include using names

fobdddf的专栏 761

UVA11624 Fire!

UVA11624 Fire!题目描述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

退役的铜牌狗 892

Fire! UVA - 11624

#include&lt;iostream&gt; #include&lt;cstring&gt; #include&lt;queue&gt; using namespace std; #define inf 0x3f3f3f3f int n, m; int vis[1100][1100]; int vis1[1100][1100]; char mmap[1100][1100]; int x1, ...

ACM 141

UVA-11624 Fire!(宽搜)

UVA-11624 Fire! 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 lo...

muyu__的博客 298

UVA 11624 Fire!

题目:https://vjudge.net/problem/UVA-11624 给出一张地图,J表示Joe所在位置,F表示着火的位置,可能有多个着火点, #表示障碍物,人和火都不能通过障碍物。人可以横向或纵向走,火每秒向横向和纵向蔓延一个网格,问人是否可以逃出,若可以,最少需要花多少时间? #include<iostream> #include<algorithm> #include<cstring> #include<string> #include&l

Tw_light的博客 297

跨部门数据协同治理:从Excel到数据中台的能力对比与选型指南

在跨部门决策协同中,数据口径不一致、权限失控、版本混乱往往是比模型精度更棘手的问题。数据分析治理能力涵盖指标口径统一、权限管控、过程追溯与变更管理,是确保多方协作顺畅的基础设施。从Excel的灵活但管控薄弱,到Python脚本的高度自由却依赖团队规范,再到BI工具在报表权限与口径统一上的成熟表现,直至数据中台实现全链路生命周期管理,不同方案在数据血缘、质量监控、版本协作等维度差异显著。理解这些差异,能帮助不同规模的团队选择合适的技术路线,避免因治理短板导致决策争议。本文结合实战经验,对比主流方案的治理能力,

weixin_33834628的博客 384

UVA11624 Fire!

诡异的传送门 POJ破二百什么的计划,暂时先放下吧,师父已经决定带我刷题,还有什么破事儿。 从uva入手好了,做了佳哥书上第一道题。给一个迷宫,有障碍,还有危险,危险还带扩展的,这道题看上去就是一个没思路,但是仔细想想,危险带扩展的话,我们可以把每一个节点被扩展的时间预处理出来,然后呢,然后直接一个广搜搞定它…… #include #include #include #include

浅雨歌 795

BFS(两点搜索) UVA 11624 Fire!

题目传送门 1 /* 2 BFS:首先对火搜索,求出火蔓延到某点的时间,再对J搜索,如果走到的地方火已经烧到了就不入队,直到走出边界。 3 */ 4 /************************************************ 5 Author :Running_Time 6 Created Time :2...

weixin_33920401的博客 129

UVa 11624 - Fire!

bfs,稍复杂的bfs,将火和人的位置分别bfs(先火再人),直到人到达边界或是被火围住无路可走时结束。 代码如下: #include #include const int MAXN = 1001; struct point { int x, y, mem_step; bool bool_fire;// 区分是否是‘火’ } que[MAXN*MAXN]; int r,

GooMaple 2002
上一篇: HDU 1403 Longest Common Substring
E_Windrunner
博客等级 码龄15年 7粉丝 120原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值