15-2016届-华为公司校招软件开发工程师-上机笔试题

VIP专享
4.0 菜帮 2024-03-18 238 19.94KB 9 页 免费
侵权投诉
WordMaze是一个网络小游戏,你需要找到
以字母标注的食物,但要求以给定单词字母的
顺序吃掉。如上图,假设给定单词 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...

展开>> 收起<<
15-2016届-华为公司校招软件开发工程师-上机笔试题.docx

共9页,预览3页

还剩页未读, 继续阅读

声明:菜根智库所有资料均为用户上传分享,仅供参考学习使用,版权归原作者所有。若侵犯到您的权益,请告知我们处理!任何个人或组织,在未征得本平台同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。
作者:菜帮 分类:管理智库 价格:免费 属性:9 页 大小:19.94KB 格式:DOCX 时间:2024-03-18

开通VIP享超值会员特权

  • 多端同步记录
  • 高速下载文档
  • 免费文档工具
  • 分享文档赚钱
  • 每日登录抽奖
  • 优质衍生服务
/ 9
客服
关注