Jelly

链接:

时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 131072K,其他语言262144K
64bit IO Format:%lld

题目描述

Nancy喜欢吃果冻! Nancy钻进了一个n \times n \times
nn×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

题解:
三维版dfs
方向向量:
int dx[]={0,1,0,-1,0,0};
int dy[]={1,0,-1,0,0,0};
int dz[]={0,0,0,0,1,-1};
dis用于记录步数
for循环枚举方向向量,从(1,1,1)开始分别向上、下、左、右、前、后六个方向探索,如果不是 * 就加一
最后输出dis[n][n][n]
代码:

#include<bits/stdc++.h>
using namespace std;
const int maxn=104;
char a[maxn][maxn][maxn];int dx[]={0,1,0,-1,0,0};
int dy[]={1,0,-1,0,0,0};
int dz[]={0,0,0,0,1,-1};
struct edge{int x,y,z;
};
queue<edge>q;
int dis[maxn][maxn][maxn];int main()
{int n;cin>>n;char ch=getchar();for(int i=1;i<=n;i++){for(int j=1;j<=n;j++){for(int k=1;k<=n;k++){cin>>a[i][j][k];}ch=getchar(); }}if(a[n][n][n]=='*'){cout<<-1;return 0;}q.push((edge){1,1,1});dis[1][1][1]=1;while(!q.empty()){edge now=q.front();q.pop();int x,y,z;for(int i=0;i<6;i++){x=now.x+dx[i];y=now.y+dy[i];z=now.z+dz[i];if(x&&y&&z&&x<=n&&y<=n&&z<=n&&a[x][y][z]!='*'&&dis[x][y][z]==0){dis[x][y][z]=dis[now.x][now.y][now.z]+1;q.push((edge){x,y,z});}}}cout<<dis[n][n][n];} 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/320306.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[bzoj 4811] 由乃的OJ(贪心 + 树链剖分)

前置技能&#xff1a;[Noi2014]起床困难综合症。 不难看出&#xff0c;这道题其实就是上一道题的加强版 在上一道题中&#xff0c;因为位运算时位与位之间互不干扰 所以从高位到低位枚举初始值二进制上的每一位为0和为1时&#xff0c;经过n次计算后这一位的结果&#xff0c;贪…

P4055-[JSOI2009]游戏【网络流,博弈】

正题 题目链接:https://www.luogu.com.cn/problem/P4055 题目大意 n∗mn*mn∗m的网格有的不能走&#xff0c;走过的不能走。开始有一个棋子先手可以决定位置&#xff0c;然后后先手轮流走&#xff0c;不能走的就输了&#xff0c;求先手的必胜开始位置。 解题思路 我们将图二分…

【贪心】逃跑(jzoj 1748)

逃跑 jzoj 1748 题目大意 你有一个能量值l&#xff0c;在接下来的n天里&#xff0c;你每天有两个选择&#xff1a; 1、增加l个食物 2、使l加一&#xff0c; 你第i天要吃ai个a_i个ai​个食物&#xff0c;如果吃不到就会死掉&#xff0c;现在问你n天后你能活下去吗&#xff0c…

c#中关于协变性和逆变性(又叫抗变)帮助理解

今天回忆了之前看的《深入理解C#》这本书中的泛型章节&#xff0c;其中对泛型的可变性的理解。泛型可变性分两种&#xff1a;协变和逆变。逆变也又称为抗变。怎么理解这两个名词的意思&#xff1a;①&#xff1a;协变即为在泛型接口类型中使用out标识的类型参数。协变的字面意思…

「木」迷雾森林

链接&#xff1a; 时间限制&#xff1a;C/C 1秒&#xff0c;其他语言2秒 空间限制&#xff1a;C/C 131072K&#xff0c;其他语言262144K 64bit IO Format:%lld 题目描述 赛时提示&#xff1a;保证出发点和终点都是空地 帕秋莉掌握了一种木属性魔法 这种魔法可以生成一片森林&am…

【单调队列】【DP】城市交通(jzoj 1749)

城市交通 jzoj 1749 题目大意 有n个点&#xff0c;x到y的前提是x<y,代价是(y−x)∗axby(y-x)*a_xb_y(y−x)∗ax​by​&#xff0c;问从1到n的最小代价是多少 输入样例 4 2 9 5 4 9 1 2 2输出样例 8数据范围 对于20%的数据&#xff0c;1⩽n⩽100&#xff1b;1\leqslan…

P5546-[POI2000]公共串【SAM】

正题 题面链接:https://www.luogu.com.cn/problem/P5546 题目大意 求nnn个串的最长公共子串。 解题思路 注意到最长公共子串一定是其中所有的子串&#xff0c;所以我们可以先随意对一个串构建SAMSAMSAM然后将信息存在上面即可。 然后每一个其他串都丢到那个SAMSAMSAM上跑匹…

C# 7.0中的解构功能---Deconstruct

解构元组C#7.0新增了诸多功能&#xff0c;其中有一项是新元组(ValueTuple)&#xff0c;它允许我们可以返回多个值&#xff0c;并且配合解构能更加方便的进行工作&#xff0c;如下面例子可以看到解构元组可以写出优雅的代码&#xff0c;并且可以使用类型推断&#xff0c;但在这里…

csp初赛复习(往年真题+解析)

排序算法 前缀/后缀表达式 二进制补码、反码 最短路 图片/音频/视频文件格式 前序/中序/后序遍历 以比较作为基本运算&#xff0c;在 N 个数中找最小数的最少运算次数为&#xff08; &#xff09;。 A. NNN B. N−1N-1N−1 C. N2N^2N2 D. logNlogNlogN 正确答案&#xff1a; B …

纪中B组模拟赛总结(2020.2.7)

成绩 rankrankranknamenamenamescorescorescoreT1T1T1T2T2T2T3T3T3141414lyflyflyf190190190100100100909090000 总结 T1看了一会看出是二进制&#xff0c;就敲了出来 T2想不到正解&#xff0c;就敲了一个暴力&#xff0c;竟水到了90分&#xff0c;正解是要有撤回的贪心 T3以为…

CF932F-Escape Through Leaf【树上启发式合并,CDQ分治,斜率优化dp】

正题 题面链接:https://www.luogu.com.cn/problem/CF932F 题目大意 nnn个点的一棵树&#xff0c;从xxx跳到yyy&#xff08;要求yyy在xxx的子树中&#xff09;会产生Ax∗ByA_x*B_yAx​∗By​的代价&#xff0c;求每个节点出发跳到某个叶节点的最小代价。 解题思路 考虑dpdpdp的…

ASP.NET Core 2.1中基于角色的授权

授权是来描述用户能够做什么的过程。例如&#xff0c;只允许管理员用户可以在电脑上进行软件的安装以及卸载。而非管理员用户只能使用软件而不能进行软件的安装以及卸载。它是独立的而又与验证配合使用&#xff0c;需要身份验证机制。对于应用程序来说&#xff0c;首先需要进行…

CF449B Jzzhu and Cities(Dijkstra)

设每个点到1的距离为dis[x]dis[x]dis[x],特殊边为(1,vi,wi)(1,v_i,w_i)(1,vi​,wi​) 1、wi>dis[vi]w_i>dis[v_i]wi​>dis[vi​]的特殊边可以删除 2、widis[vi]且num[vi]>1w_idis[v_i]且num[v_i]>1wi​dis[vi​]且num[vi​]>1,特殊边可以删掉 思路上的偏差&…

Sunscreen

来源&#xff1a;牛客网 Sunscreen 时间限制&#xff1a;C/C 1秒&#xff0c;其他语言2秒 空间限制&#xff1a;C/C 32768K&#xff0c;其他语言65536K 64bit IO Format: %lld 题目描述 To avoid unsightly burns while tanning, each of the C (1 ≤ C ≤ 2500) cows must co…

【dfs】无穷迷宫(jzoj 3924)

无穷迷宫 jzoj 3924 题目大意 有一个n*m的迷宫&#xff0c;有墙&#xff08;#&#xff09;&#xff0c;路&#xff08;.&#xff09;&#xff0c;和你的位置&#xff08;S&#xff09;&#xff0c;这个迷宫会复制无数份拼在一起&#xff0c;问你能不能不停地走下去 输入样例…

[2020.11.27NOIP模拟赛]拼图王【dp】

正题 题面链接:https://www.luogu.com.cn/problem/U142584 题目大意 nnn个010101串&#xff0c;按顺序分成两个序列&#xff0c;然后拼接成一个序列&#xff08;拼接串x,yx,yx,y的话就是变成一个前缀包含xxx&#xff0c;后缀包含yyy的最短的串&#xff09;。求最短长度。 解题…

分布式事务一致性解决方案

一、从数据一致性谈起↑一致性问题&#xff0c;“万恶之源”是数据冗余和分布并通过网络交互网络异常是常态。1、数据一致性的情形主库、从库和缓存数据一致性&#xff0c;相同数据冗余&#xff0c;关系数据库&#xff0c;为保证关据库的高可用和高性能&#xff0c;一般会采用主…

hihocoder1147 时空阵(bfs树+DP)

bfs树中&#xff0c;边只存在于同一层或相邻层的点之间 设f[i][j][k]f[i][j][k]f[i][j][k]为前iii层一共使用jjj个节点&#xff0c;其中第iii层有kkk个节点的合法方案&#xff0c;转移枚举每一层的连边方式&#xff0c;做到第LLL层即可。对于LLL 层之后的边可以随便乱连。&…

牛客网【每日一题】4月21日题目精讲 糖糖别胡说,我真的不是签到题目

试题 糖糖别胡说&#xff0c;我真的不是签到题目 时间限制&#xff1a;C/C 2秒&#xff0c;其他语言4秒 空间限制&#xff1a;C/C 131072K&#xff0c; 其他语言262144K 64bit IO Format:%lld 题目描述 从前&#xff0c;有n只萌萌的糖糖&#xff0c;他们分成了两组一起玩游戏。…

近似乘积(jzoj 3925)

近似乘积 jzoj 3925 题目大意 给你一个集合A和n让你求不在集合A内的x、y、z&#xff0c;使∣n−xyz∣|n-xyz|∣n−xyz∣最小 输入样例 3 2 2 4 4 1 1 7 2 1 15 90输出样例 1 1 3 2 2 2 2 5 9数据范围 40% 的数据&#xff1a;1⩽m⩽10&#xff0c;1⩽n⩽100.1 \leqslant …