CCF 2016-4-4 游戏(bfs标记)

CCF 201604-4 游戏 问题描述   小明在玩一个电脑游戏,游戏在一个n×m的方格图上进行,小明控制的角色开始的时候站在第一行第一列,目标是前往第n行第m列。   方格图上有一些方格是始终安全的,有一些在一段时间是危险的,如果小明控制的角色到达一个方格的时候方格是危险的,则小明输掉了游戏,如果小明的角色到达了第n行第m列,则小明过关。第一行第一列和第n行第m列永远都是安全的。   每个单位时间,小明的角色必须向上下 阅读详情

题目

在这里插入图片描述

题解

直接bfs,状态由r,c,time,既然有三维状态,那就需要有三维标记,这样可以防止重复搜索。

代码

#include <bits/stdc++.h>
using namespace std;
#define FOR0(a,b) for(int i = a; i < b; ++i)
#define FORE(a,b) for(int i = a; i <= b; ++i)
typedef long long ll;
typedef pair<int,int> pii;
#define x first
#define y second
const int dr[] = {1,-1,0,0};
const int dc[] = {0,0,1,-1};
const int maxn = 1e4+5;
const int INF = 0x3f3f3f3f;
int n,m,t;
pii cor[105][105];
struct Node {
	int r,c;
	int tim;
};
int vis[105][105][300];
void solve() {
	int ans = INF;
	queue<Node> que;
	que.push((Node){1,1,0});
	memset(vis, 0,sizeof vis);
	while(!que.empty()) {
		Node u = que.front();
		que.pop();
		// cout << u.r <<" " << u.c<<" "<<u.tim << endl;
		if(vis[u.r][u.c][u.tim])
			continue;
		// cout << -1 << endl;
		vis[u.r][u.c][u.tim] = 1;
		if(u.r == n && u.c == m) {
			cout << u.tim << endl;
			return;
		}
		for(int i = 0; i < 4; ++i) {
			int nr = u.r+dr[i], nc = u.c+dc[i];
			int ntim = u.tim+1;
			if(nr < 1 || nr > n || nc < 1 || nc > m || ntim >= cor[nr][nc].x && ntim <= cor[nr][nc].y) continue;
			que.push((Node){nr,nc,ntim});
		}
		// que.push((Node){u.r,u.c,u.tim+1});
	}
}
int main() {
	scanf("%d%d%d", &n, &m,&t);
	int u,v,l,r;
	for(int i = 0; i < t; ++i) {
		scanf("%d%d%d%d", &u, &v, &l, &r);
		cor[u][v].x = l; cor[u][v].y = r;
	}
	solve();
	return 0;
}
CCF CSP 竞赛试题——游戏(201604-4)(100分) 问题描述 小明在玩一个电脑游戏,游戏在一个n×m的方格图上进行,小明控制的角色开始的时候站在第一行第一列,目标是前往第n行第m列。 方格图上有一些方格是始终安全的,有一些在一段时间是危险的,如果小明控制的角色到达一个方格的时候方格是危险的,则小明输掉了游戏,如果小明的角色到达了第n行第m列,则小明过关。第一行第一列和第n行第m列永远都是安全的。 每个单位时间,小明的角色必须向上下左右四个方向相邻的... 阅读详情

相关推荐

CCF认证 2016-04 游戏

求在方格图上从一点到达另一点的最短时间,有边界但是没有障碍,取而代之的是某些方格在一段时间内是不能走的可能在某段时间会困在一个区域内,每个时间必须走一步,所以可以走回头路不妨直接在二维平面图的基础上加上时间这个维度,进行三维的bfs搜索,但是时间每走一步都是+1这样最先到达目标点依然是最快的时间#include&lt;iostream&gt; #include&lt;cstdio&gt; #inc...

wl16wzl的博客 1476

CCF CSP认证201604-4 游戏(BFS)

201604-4 游戏 思路 这道题用bfs可解,由于点是可以重复访问的,不加限制的话很容易超时。我刚开始想到用优先队列让离终点近的点优先访问,然而会得出错误解,只有20分。(其实我早就意识到会算错,但我没其他方法优化bfs了,就只能这样子混分喽,不过我没想到才20分。事后想想这样子优化根本就不可靠,还不如暴力bfs信得过。) 空间上的重复访问限制不了,其实我们可以限制其在时间上的重复访问,设一...

weixin_43944910的博客 391

【信息科学与工程学】【审计学】第一篇 招投标领域审计算法01

在每个关键流程节点(如文件上传、开标唱标、评标结束), 计算该环节所有电子文件的数字指纹(如SHA-256哈希值), 并将指纹和元数据(时间、操作人)上链存证。:从发票、合同中提取材料品名、规格、采购价、时间、地点。:对每个供应商, 提取其在历史投标中的行为序列特征, 如:中标率、与特定伙伴同时投标率、自身高报价次数、在伙伴中标项目中的“弃标”或“无效标”次数。:监控开标、评标现场音视频, 识别异常情绪(激烈争吵)、敏感关键词(“打点”、“关照”)、异常物品传递、私下交流等违规行为。

weixin_49199313的博客 815

【CCF 201604-4】游戏(BFS+优先队列)

写在前面 写博客之前搜索了一下网解,发现大家都是BFS+三维vis过的:CCF201604-4 游戏(100分) 这里分享一个BFS+优先队列的满分思路(如有错误请指正) 大致思路 每次从队列中找出d值最小的结点, 假设为u,由于使用的是优先队列,那么能够保证每次出队的u是最优的先驱。那么对于它的邻接结点v,有: ①若v在u.d+1的时间可达,那么v.d = u.d+1,且这是它的...

Salmon_lee的博客 546

3D Slicer中Auto3DSeg和TotalSegmentator等自动分割插件总是安装失败,怎么办?教你两招

TotalSegmentator, MONAI auto3Dseg,这些工具因分割器官多,准确性高,备受关注。同时,这些自动分割工具被集成在了3D slicer平台,非常方便临床医生做手术规划。详细了解这些工具看之前的教程👇-------- 简单概述 --------其中,MONAIAuto3DSeg扩展附带数十种针对特定临床用例的预训练分割模型,这些模型旨在快速运行,几分钟内即可在任何普通计算机上运行,无需 GPU,甚至在笔记本电脑上。

zzjlhlcd的博客 1698

HighScore3.0实战指南:XRD物相分析从入门到精通(持续更新版)

本文提供HighScore3.0软件进行XRD物相分析的完整实战指南。从软件设置、数据导入、背景扣除、寻峰等预处理步骤,到核心的Search & Match物相搜索匹配、Rietveld精修定量,以及结果输出与常见问题排查,系统讲解了从入门到精通的全流程操作与核心技巧,帮助用户高效完成材料物相鉴定与分析工作。

weixin_29310605的博客 1044

CCF201604-4 游戏

试题编号: 201604-4 试题名称: 游戏 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述   小明在玩一个电脑游戏,游戏在一个n×m的方格图上进行,小明控制的角色开始的时候站在第一行第一列,目标是前往第n行第m列。   方格图上有一些方格是始终安全的,有一些在一段时间是危险的,如果小明控制的角色到达一...

SEIZE THE DAY 391

夸克缓存视频合并小工具

原理 使用windows的命令行的copy命令来合并 copy /b 0+1+2+3 new.ts 分析缓存目录结构,发现都是一个m3u8文件带一个同名文件夹 所以分析m3u8并把原来的路径换成这个缓存文件夹路径并按顺序合并即可。 其中碰到的难点是Qprocess在windows不好使,索性直接存成.bat批处理文件再执行 还有就是中文问题,具体在代码里都说了。 代码 (环境Qt5.7.0) 这是mainwindow.h #ifndef MAINWINDOW_H #defin.

natural_Caduceus 1万+

CCF 201604-04 游戏 BFS+时间限制

问题描述   小明在玩一个电脑游戏,游戏在一个n×m的方格图上进行,小明控制的角色开始的时候站在第一行第一列,目标是前往第n行第m列。   方格图上有一些方格是始终安全的,有一些在一段时间是危险的,如果小明控制的角色到达一个方格的时候方格是危险的,则小明输掉了游戏,如果小明的角色到达了第n行第m列,则小明过关。第一行第一列和第n行第m列永远都是安全的。   每个单位时间,小明的角色必须向上下

不平凡的博客 598

Vue2项目实战:海康威视WEB无插件开发包V3.4从下载到多画面预览(附完整代码)

本文详细介绍了在Vue2项目中集成海康威视WEB无插件开发包V3.4实现多画面监控预览的完整实战方案。内容涵盖从开发包下载、Nginx代理配置、核心组件封装到多画面并发加载与性能优化的全流程,并提供了完整的代码示例,帮助开发者高效解决浏览器无插件播放与多路视频流加载的难题。

c7d8e9的博客 320

【UE5】映射方式:动作映射(Action Mappings) 与 轴映射(Axis Mappings)

链接:https://pan.baidu.com/s/1nQHvZXC4BDsfbFWDYZqEfA?按下键盘A键,不要抬起,屏幕左上角打印了一次。(和Unity中的轴映射机制类似)下面我们通过测试更直观的了解一下这。抬起键盘A键,屏幕左上角打印了一次。项目资源文末百度网盘自取。再添加一个按键,选择键盘。键,缩放值设置为 2.0。,框选所有测试节点,按下。的情况下,屏幕一直打印。

weixin_64072619的博客 3499

CCF 2016-4-4 游戏 100分

//方法就是广度遍历+三维数组标记访问,其中第三维表示访问时间 #include<iostream> #include<queue> using namespace std; typedef struct Node{ int x,y,step; }Node; int vis[105][105][305]={0};//注意要使第三维尽可能的大 queue<No...

曼彻斯特小球童 257

【AI大模型应用开发】【RAG评估】0. 综述:一文了解RAG评估方法、工具与指标

本文主要总结了当前比较流行的RAG评估方法和指标。当前AI技术的快速发展,RAG和RAG评估是当前比较有前景的发展方向,不断有新的评估工具和理论被提出,让我们持续跟进,了解这些工具和理论,从而在使用时知道如何选择。

同学小张的博客 6826

CSP 201604-4 游戏 bfs 高维数组

题目: n*m的方格,某些时刻某些方格危险。求(1,1)到(n,m)的最短时间。注意,每个时间单位必须走,不能停。 思路: 每个点由(x,y,t)三维描述,vis数组也使用三维记录,-1表示危险,0代表可到达,>0代表最短步数。 取(1,1,0),x、y、t同时扩展,判断条件,修改vis,入队列 注意: 1.时间维的range与x、y不同,没有危险的情况下最大200,由于有危险的时间&...

CathyLea 265

一文吃透 OData Deep Insert:从框架原理到 ABAP 实战

本文面向ABAP工程师,解析OData服务中的Deep Insert技术。文章首先阐述Deep Insert的业务背景,说明其适用于父子层级数据必须成组创建的场景(如销售订单与行项目)。随后深入框架实现机制,介绍SAP Gateway如何通过CREATE_DEEP_ENTITY方法处理嵌套请求,并强调开发者的责任边界。通过销售订单案例,文章对比了Deep Insert与$batch的适用场景差异,提供请求负载示例和DPC_EXT实现骨架代码。最后给出MPC_EXT声明深结构的三种套路,以及事务处理和错误处理

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 225

ABAP CDS View 从入门到精通教程第一篇:ABAP CDS View 在 SAP 技术体系中的重要地位

摘要:本文介绍了SAP开发技术专家提供的多套SAP开发教程,涵盖ABAP、UI5、Fiori、OData、BTP等技术领域。重点阐述了ABAP CDS View在SAP S/4HANA中的核心地位,作为虚拟数据模型(VDM)的关键技术,它实现了OLTP和OLAP的统一处理。文章还说明了学习CDS View的前置条件,包括需要SAP NetWeaver 7.50 SP01或更高版本系统,以及使用SAP ABAP Development Tool进行开发实践。作者具有16年SAP开发经验,这些教程形成了完整的S

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 897

游戏(csp100分代码)

问题描述   小明在玩一个电脑游戏,游戏在一个n×m的方格图上进行,小明控制的角色开始的时候站在第一行第一列,目标是前往第n行第m列。   方格图上有一些方格是始终安全的,有一些在一段时间是危险的,如果小明控制的角色到达一个方格的时候方格是危险的,则小明输掉了游戏,如果小明的角色到达了第n行第m列,则小明过关。第一行第一列和第n行第m列永远都是安全的。   每个单位时间,小明的角色必须向上下左右四个方向相邻的方格中的一个移动一格。   经过很多次尝试,小明掌握了方格图的安全和危险的规律:每一个方格出现危险的

q1430186623的博客 681

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

所有博客导航

。。

nameofcsdn的博客 1万+

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

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

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

第七次CCF-D:游戏

问题描述   小明在玩一个电脑游戏,游戏在一个n×m的方格图上进行,小明控制的角色开始的时候站在第一行第一列,目标是前往第n行第m列。   方格图上有一些方格是始终安全的,有一些在一段时间是危险的,如果小明控制的角色到达一个方格的时候方格是危险的,则小明输掉了游戏,如果小明的角色到达了第n行第m列,则小明过关。第一行第一列和第n行第m列永远都是安全的。   每个单位时间,小明的角色必须向

加载中... 3854

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

ccf 认证 201604-4:游戏

解题思路:学过搜索的一眼就能看出是广搜,没学过建议翻翻书,毕竟考得挺多。 注意事项: 1.广搜用队列来实现,也可用数组循环来实现。 2.需要优化,不然会出现超时。 3.通关最长时间不超过300秒。 4.可以往回走。 5.每走一步都要判断是否安全和是否可达。 6.最关键的一个条件,不太容易在短时间想到:同一个节点同一时刻只能加队列一次。必须加上这个条件不然

xiewq的专栏 2153

CCF游戏

问题描述   小明在玩一个电脑游戏,游戏在一个n×m的方格图上进行,小明控制的角色开始的时候站在第一行第一列,目标是前往第n行第m列。   方格图上有一些方格是始终安全的,有一些在一段时间是危险的,如果小明控制的角色到达一个方格的时候方格是危险的,则小明输掉了游戏,如果小明的角色到达了第n行第m列,则小明过关。第一行第一列和第n行第m列永远都是安全的。   每个单位时间,小明的角色必须向

God Liao On The Way 1736

CCF201604-4 游戏(100分)

    试题编号: 201604-4 试题名称: 游戏 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述   小明在玩一个电脑游戏,游戏在一个n×m的方格图上进行,小明控制的角色开始的时候站在第一行第一列,目标是前往第n行第m列。   方格图上有一些方格是始终安全的,有一些在一段时间是危险的,如果小明控制...

海岛Blog 7353

CCF201604-4 游戏 (100分)

试题编号: 201604-4 试题名称: 游戏 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述   小明在玩一个电脑游戏,游戏在一个n×m的方格图上进行,小明控制的角色开始的时候站在第一行第一列,目标是前往第n行第m列。   方格图上有一些方格是始终安全的,有一些在一段时间是危险的,如果小明控制的角色到达一...

逐梦者 1886

CCF——游戏(2017-12)

问题描述   有n个小朋友围成一圈玩游戏,小朋友从1至n编号,2号小朋友坐在1号小朋友的顺时针方向,3号小朋友坐在2号小朋友的顺时针方向,……,1号小朋友坐在n号小朋友的顺时针方向。  游戏开始,从1号小朋友开始顺时针报数,接下来每个小朋友的报数是上一个小朋友报的数加1。若一个小朋友报的数为k的倍数或其末位数(即数的个位)为k,则该小朋友被淘汰出局,不再参加以后的报数。...

weixin_30239339的博客 127
上一篇: P2161 会场预约(区间染色)
下一篇: 树状数组找出[1,r]中比x小的数的个数
Link_Ray
博客等级 码龄9年 44粉丝 156原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值