牛客小白月赛21 J.Jelly
牛客小白月赛21 J.Jelly
题目描述
Nancy喜欢吃果冻!
Nancy钻进了一个n×n的果冻里,她想从(1,1,1)一路上、下、左、右、前、后六个方向吃到(n,n,n)。
但果冻毕竟是有许多口味的,标记为*的口味是Nancy不愿意吃的,其余的果冻均标记为.。
Nancy不想吃坏肚子,于是她想尽可能少的吃果冻。
下面给出果冻的情况,请你帮忙计算一下她能吃多少块果冻叭!
输入描述:
第一行:一个整数n。
接下来n层,每组n行,每行n列,表示果冻(i,j,k)的情况(如题目描述所述)。
数据满足:1≤n≤100,保证果冻(1,1,1)不是Nancy不愿意吃的。
输出描述:
如果可以到达(n,n,n),请输出路上吃的果冻数量,否则请输出-1。
示例1
输入
2
.*
..
*.
..
输出
4
一遍过的,比较水的三维bfs,话不多说,上代码:
#include<bits/stdc++.h>
using namespace std;int n,m;
int mo[6][3]={-1,0,0, 0,-1,0, 0,0,-1, 1,0,0, 0,1,0, 0,0,1};
char ma[105][105][105];
int q[40000][3];
int step[105][105][105];void bfs(int x,int y,int z)
{memset(step,0,sizeof(step));step[x][y][z]=0;int head=0;q[head][0]=x;q[head][1]=y;q[head][2]=z;int tail=1;while(head<tail){int x1=q[head][0];int y1=q[head][1];int z1=q[head][2];if(x1==n && y1==n && z1==n){cout<<step[x1][y1][z1]+1;return;}for(int i=0;i<6;i++){int x2=x1+mo[i][0];int y2=y1+mo[i][1];int z2=z1+mo[i][2];if(step[x2][y2][z2]==0 && x2>=1 && x2<=n && y2>=1 && y2<=n && z2>=1 && z2<=n && ma[x2][y2][z2]=='.'){step[x2][y2][z2]=step[x1][y1][z1]+1;q[tail][0]=x2;q[tail][1]=y2;q[tail][2]=z2;tail++;}}head++;}cout<<-1;}int main()
{cin>>n;memset(q,0,sizeof(q));for(int i=1;i<=n;i++){for(int j=1;j<=n;j++){for(int k=1;k<=n;k++)cin>>ma[i][j][k];}}bfs(1,1,1);return 0;
}
牛客小白月赛21 J.Jelly相关推荐
- 牛客小白月赛6 J.洋灰三角
牛客小白月赛6 J.洋灰三角 题目链接 题目描述 洋灰是一种建筑材料,常用来筑桥搭建高层建筑,又称,水泥.混凝土. WHZ有很多铸造成三角形的洋灰块,他想把这些洋灰三角按照一定的规律放到摆成一排的n个 ...
- 牛客小白月赛24 J.建设道路
牛客小白月赛24 J.建设道路 题目链接 题目描述 牛牛国有 nnn 个城市,编号为 1-n,第 iii 个城市有一个价值 aia_iai ,牛国的国王牛阔落特别喜欢在牛牛国旅游,并且他不想每次旅游 ...
- 牛客小白月赛28 J.树上行走
牛客小白月赛28 J.树上行走 题目链接 题目描述 牛牛苦练武功绝学--轻功水上漂,最终没有练成,但是他学会了在树上行走的本领. 这天,牛牛落入了敌人的陷阱,身后有巨石追击,面前有n个点,n-1条边连 ...
- 牛客小白月赛21 G.Game
牛客小白月赛21 G.Game 题目描述 Nancy喜欢博弈! Johnson和Nancy得到了一个神奇的多重集合,仅包含一个正整数n,两个人轮流进行操作. 一次操作可以将集合中一个数字分解为它的任意 ...
- 牛客小白月赛6 J 洋灰三角
J 洋灰三角 题目: 链接:https://www.nowcoder.com/acm/contest/136/J 来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262 ...
- 牛客小白月赛6 J 洋灰三角 数学
链接:https://www.nowcoder.com/acm/contest/136/J 来源:牛客网 题目描述 洋灰是一种建筑材料,常用来筑桥搭建高层建筑,又称,水泥.混凝土. WHZ有很多铸造成 ...
- 牛客小白月赛6 - J洋灰三角形 - 等比数列、逆元
链接:https://www.nowcoder.com/acm/contest/136/J 来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K,其他语言524 ...
- 牛客小白月赛12 J 月月查华华的手机 (序列自动机模板题)
链接:https://ac.nowcoder.com/acm/contest/392/J 来源:牛客网 题目描述 月月和华华一起去吃饭了.期间华华有事出去了一会儿,没有带手机.月月出于人类最单纯的好奇 ...
- 牛客小白月赛11 J Rinne Loves Math
链接:https://ac.nowcoder.com/acm/contest/370/J 来源:牛客网 Rinne 刚刚学习了最简二次根式,于是她想用程序实现一个. 为了简化问题,在本题中,最简二次根 ...
最新文章
- deepspeech实时语音识别
- 华为、阿里员工跳槽至微软受抵制,微软当事人称:只是玩梗
- Vue组件基础知识总结
- c# 微服务学习_微服务:学习几个容易混淆的URL注解
- 关于Ajax 4-9
- mybatis.xml文件
- JEESZ分布式架构3--CentOs下安装MySQL(环境准备)
- 第1章 IO流概述及FileWriter类使用
- python面试题之多线程好吗?列举一些让Python代码以并行方式运行的方法
- 服务器自带raid功能吗,服务器的 RAID 功能介绍
- 台达plc控制伺服电机编程实例_plc控制伺服电机程序实例讲解!成功都是可以复制的!...
- 手把手教你php调用短信接口(smsapi)实现发送短信验证码
- redis实现原理和应用(redis读书笔记)
- Python爬取58同城租房数据,破解字体加密
- 还有哪些不错的正规Java培训机构
- STM32F030使用硬件SPI与字库芯片通信
- Tkinter - events and bindings事件绑定
- HashMap 在 JDK1.7 和 JDK1.8 中有哪些区别?
- Android8.1 MTK平台 修改蓝牙默认名称
- 达芬奇科学特展《穿越·创新·达芬奇:超越时代的创新者》
热门文章
- 三维度重新评估新股价值
- cadence SPB17.4 - allegro - 做logo封装
- ‘settings.xml’ has syntax errors less… 和Parent ‘org.springframework.boot’has problems less…的问题解决
- 信创铺路,数据库格局颠覆的时刻到了
- 二元光学透镜的分光成像、消色差原理
- 总结论文中正负样本的选择
- EXCEL 也可以使用chatGPT了,教程来了
- 车市亦江湖 旁观沃尔沃S80L加长版的七种武器
- bsf dfs 专题(一)
- JTAG 标准IEEE STD 1149.1-2013学习笔记(三)Test data registers