15-2016届-华为公司校招软件开发工程师-上机笔试题
VIP专享
WordMaze是一个网络小游戏,你需要找到
以字母标注的食物,但要求以给定单词字母的
顺序吃掉。如上图,假设给定单词 if,你必
须先吃掉 i 然后才能吃掉 f。
但现在你的任务可没有这么简单,你
现在处于一个迷宫 Maze(n×m 的矩阵)当
中,里面到处都是以字母标注的食物,但你只
能吃掉能连成给定单词 W 的食物。
如下图,指定 W 为“SOLO”,则在地图中红色
标注了单词“SOLO”。
注意区分英文字母大小写,你只能上下左右行
走。
运行时间限制: 无限制
内存限制: 无限制
输入:
输入第一行包含两个整数
n、m(0<n,m<21)分别表示 n 行
m 列的矩阵,第二行是长度不超
过 100 的单词 W,从第 3 行到底
n+3 行是只包含大小写英文字母
的长度为 m 的字符串。
输出:
如果能在地图中连成给定的单
词,则输出“YES”,否则输出
“NO”。注意:每个字母只能用
一次。
样例输入:
5 5
SOLO
CPUCY
EKLQH
CRSOL
EKLQO
PGRBC
样例输出: YES
答案提示:
bool maze(char array[21][21], int m, int n, char *word)
{
int i, j, w=0;
int x, y;
for (i=0; i<m; i++)
{
x = i;
for (j=0; j<n; j++)
{
y = j;
if (array[x][y] == word[w])
{
while ('\0' != word[w])
{
w++;
if ((x>0) && (x<m-1) && (y>0) && (y<n-1))
{
if (array[x-1][y] == word[w])
{
x = x-1;
}
else if (array[x+1][y] == word[w])
{
x = x+1;
}
else if (array[x][y-1] == word[w])
{
y = y-1;
}
else if (array[x][y+1] == word[w])
{
y = y+1;
}
else
break;
}
else if ((x<m-1) && (y>0) && (y<n-1))
{
if (array[x+1][y] == word[w])
{
x = x+1;
}
else if (array[x][y-1] == word[w])
{
y = y-1;
}
else if (array[x][y+1] == word[w])
{
y = y+1;
}
else
摘要:
展开>>
收起<<
Word Maze 是一个网络小游戏,你需要找到以字母标注的食物,但要求以给定单词字母的顺序吃掉。如上图,假设给定单词if,你必须先吃掉i然后才能吃掉f。 但现在你的任务可没有这么简单,你现在处于一个迷宫Maze(n×m的矩阵)当中,里面到处都是以字母标注的食物,但你只能吃掉能连成给定单词W的食物。如下图,指定W为“SOLO”,则在地图中红色标注了单词“SOLO”。 注意区分英文字母大小写,你只能上下左右行走。运行时间限制:无限制内存限制:无限制输入:输入第一行包含两个整数n、m(0...
声明:菜根智库所有资料均为用户上传分享,仅供参考学习使用,版权归原作者所有。若侵犯到您的权益,请告知我们处理!任何个人或组织,在未征得本平台同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。
相关推荐
-
腾讯研究院:工业大模型应用报告VIP专免
2025-04-04 159 -
阿里云:大模型典型示范应用案例集VIP专免
2025-04-04 150 -
AI+Agent创新10大前沿方向与落地实践-杨永强中盛VIP专免
2025-04-08 141 -
2025年智能分析Agent白皮书VIP专免
2025-05-24 159 -
2025年AI落地应用最新工具集
2025-07-12 139 -
智能体落地最佳实践白皮书 2025VIP专免
2025-07-28 134 -
华为重磅!智能世界2035-134页VIP专免
2025-09-19 989 -
腾讯云2025企业级智能体产业落地研究报告-从场景试点到规模化应用实践105页VIP专免
2025-09-23 139 -
DeepSeek给我们带来的创业机会VIP专免
2025-12-27 120 -
腾讯云中小企业AI实战指南
2026-01-23 133
作者:菜帮
分类:管理智库
价格:免费
属性:9 页
大小:19.94KB
格式:DOCX
时间:2024-03-18

