hdu2102

news/2025/2/19 8:06:20/

http://acm.hdu.edu.cn/showproblem.php?pid=2102

复习了一遍队列,借鉴了网上的一些不错的方法,学习了!

ContractedBlock.gif ExpandedBlockStart.gif View Code
 
#include < iostream >
#include
< cstdio >
#include
< queue >
#define M 11
using namespace std;
char map[ 2 ][M][M];
int set [ 2 ][M][M];
int Dir[ 4 ][ 2 ] = {{ 1 , 0 },{ 0 , 1 },{ - 1 , 0 },{ 0 , - 1 }};
int n,m,t;
int mx,my,mz;
int i,j,k;

struct Maze
{
int x,y,z;
int step;
};

Maze P , S;

void Init()
{
for (i = 0 ; i < 2 ; ++ i)
for (j = 0 ; j < n; ++ j)
for (k = 0 ; k < m; ++ k)

set [i][j][k] = 0x7fffffff ;
set [ 0 ][ 0 ][ 0 ] = 0 ;
}
void BFS()
{
queue
< Maze > Q;

P.x
= 0 ;
P.y
= 0 ;
P.z
= 0 ;
P.step
= 0 ;
Q.push(P);
Init();

while ( ! Q.empty())
{
P
= Q.front();
Q.pop();

if (P.x == mx && P.y == my && P.z == mz && P.step <= t)
{
printf(
" YES\n " );
return ;
}

for ( i = 0 ; i < 4 ; ++ i)
{
S
= P;
S.x
= S.x + Dir[i][ 0 ];
S.y
= S.y + Dir[i][ 1 ];
S.step
++ ;

if (S.x >= 0 && S.y >= 0 && S.x < n && S.y < m && map[S.z][S.x][S.y] != ' * ' && S.step <= t)
{
if (map[S.z][S.x][S.y] == ' # ' )
{
S.z
= ( ! S.z);
if (map[S.z][S.x][S.y] != ' * ' )
{
if (map[S.z][S.x][S.y] != ' # ' && set [S.z][S.x][S.y] >= S.step)
{
set [S.z][S.x][S.y] = S.step;
Q.push(S);
}
}
}
else
{
if ( set [S.z][S.x][S.y] >= S.step)
{
set [S.z][S.x][S.y] = S.step;
Q.push(S);
}
}
}
}
}
printf(
" NO\n " );
}


int main()
{
int ii,jj,kk;
int w;
scanf(
" %d " , & w);
while (w -- )
{
scanf(
" %d%d%d " , & n, & m, & t);

for (ii = 0 ; ii < 2 ; ++ ii)
{
for (jj = 0 ; jj < n ; ++ jj )
{
scanf(
" %s " , & map[ii][jj]);

for (kk = 0 ; kk < m ; ++ kk )
{
if (map[ii][jj][kk] == ' P ' )
{
mz
= ii;mx = jj;my = kk;
}
}
}
}
BFS();
}
return 0 ;
}

转载于:https://www.cnblogs.com/FCWORLD/archive/2011/04/25/2028639.html


http://www.ppmy.cn/news/147492.html

相关文章

linux查看cp2102,微雪电子CP2102(type A)USB转USART简介

CP2102 USB转UART串口模块 type A接口 支持对外供电:5V或3.3V 支持Mac、Linux、Android、WinCE、Windows 7/8/8.1 型号 CP2102 USB UART Board (type A) 本产品不带USB线。 产

CP2102 USB to UART Bridge Controller 驱动安装(windows or Ubuntu)

CP2102是一款USB转TTL电平的USB转串口芯片&#xff0c;使用时发现诸多小网站上的驱动不是病毒就是安装后无效&#xff0c;经同事推荐去官网下载后成功连接。 官网地址&#xff1a;https://www.silabs.com/products/development-tools/software/usb-to-uart-bridge-vcp-drivers…

java 2102_hdoj 2102 A计划

A计划 Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 13301 Accepted Submission(s): 3284 Problem Description 可怜的公主在一次次被魔王掳走一次次被骑士们救回来之后&#xff0c;而今&#xff0c;不幸的她…

建筑七大员有哪些发证部门?证书有什么区别?

建筑七大员是指建筑施工企业关键技术岗位&#xff0c;七大员分别是 施工员 质量员 标准员 材料员 机械员 劳务员 资料员 建筑七大员&#xff0c;常见的发证单位有住房和成乡建设厅和中国建设教育协会两个部门发证&#xff0c;但是大家还是要考住房和城乡建设厅的&#xff0c;建…

【Hi3519A】测试华为M2221-QL智能摄像头

说明&#xff1a;这里采用ssd_demo进行的测试&#xff0c;华为给的sdk demo中没有yolov3&#xff0c;前面花了很多时间在yolov3模型上。结果 模型推理时间(s)Fps备注ssd0.2285左右模型未进行优化 问题 速度太低检查效果不是很好

华为智能汽车解决方案

2020年10月30日&#xff0c;华为正式发布智能汽车解决方案品牌HI&#xff0c;包括 1 个全新的计 算与通信架构和5大智能系统&#xff0c;智能驾驶&#xff0c;智能座舱、智能电动、智能网联和智能车云&#xff0c;以及激光雷达、 AR-HUD 等全套的智能化部件。华为基于自身ICT技…

华为智能门锁 / Pro 评测

华为智能门锁/Pro在各平台开启预售&#xff0c;采用鸿蒙 HarmonyOS 分布式猫眼&#xff0c;拥有金融级安全架构&#xff0c;也是业内唯一通过CCRC增强级和国际EAL5双认证的产品。内置 8800mAh 锂电池&#xff0c;支持反向无线充电功能。 华为智能门锁 Pro&#xff0c;采用 AI …

华为回应智能驾驶总裁苏箐被免职

本文转载自IT之家 7 月 27 日晚间消息&#xff0c;针对汽车 BU 高管苏箐被免职一事&#xff0c;华为回应称&#xff0c;因其在外部活动针对特斯拉发表了不当言论&#xff0c;造成了不良影响。 华为今日发布的一封人事任免文件显示&#xff0c;免去苏菁智能驾驶产品部部长职务…