2022年届 华为公司校园招聘华为软件开发工程师 提前批上机笔试题.docx
-
资源ID:23082063
资源大小:17.89KB
全文页数:12页
- 资源格式: DOCX
下载积分:10金币
快捷下载
![游客一键下载](/images/hot.gif)
会员登录下载
微信登录下载
三方登录下载:
微信扫一扫登录
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
2022年届 华为公司校园招聘华为软件开发工程师 提前批上机笔试题.docx
2022年届 华为公司校园招聘华为软件开发工程师 提前批上机笔试题 Word?Maze?是一个网络小嬉戏,你须要找到以字母标注的食物,但要求以给定单词字母的依次吃掉。如上图,假设给定单词if,你必需先吃掉i然后才能吃掉f。 ?但现在你的任务可没有这么简洁,你现在处于一个迷宫Maze(n×m的矩阵)当中,里面到处都是以字母标注的食物,但你只能吃掉能连成给定单词W的食物。 如下图,指定W为“SOLO”,则在地图中红色标注了单词“SOLO”。? 留意区分英文字母大小写,你只能上下左右行走。 运行时间限制: 无限制 内存限制: 无限制 输入: 输入第一行包含两个整数n、m(0<n,?m<21)分别表示n行m列的矩阵,其次行是长度不超过101的单词W,从第3行究竟n+3行是只包含大小写英文字母的长度为m的字符串。 输出: 假如能在地图中连成给定的单词,则输出“YES”,否则输出“NO”。留意:每个字母只能用一次。 样例输入: 5 5 SOLO CPUCY EKLQH CRSOL EKLQO PGRBC 样例输出: YES 答案提示: bool maze(char array2121, 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 (arrayxy = wordw) while ('0' != wordw) w+; if (x>0) (x<m-1) (y>0) (y<n-1) if (arrayx-1y = wordw) x = x-1; else if (arrayx+1y = wordw) x = x+1; else if (arrayxy-1 = wordw) y = y-1; else if (arrayxy+1 = wordw) y = y+1; else break; else if (x<m-1) (y>0) (y<n-1) if (arrayx+1y = wordw) x = x+1; else if (arrayxy-1 = wordw) y = y-1; else if (arrayxy+1 = wordw) y = y+1; else break; else if (x>0) (y>0) (y<n-1) if (arrayx-1y = wordw) x = x-1; else if (arrayxy-1 = wordw) y = y-1; else if (arrayxy+1 = wordw) y = y+1; else break; else if (x>0) (x<m-1) (y<n-1) if (arrayx-1y = wordw) x = x-1; else if (arrayx+1y = wordw) x = x+1; else if (arrayxy+1 = wordw) y = y+1; else break; else if (x>0) (x<m-1) (y>0) if (arrayx-1y = wordw) x = x-1; else if (arrayx+1y = wordw) x = x+1; else if (arrayxy-1 = wordw) y = y-1; else break; else if (x<m-1) (y<n-1) if (arrayx+1y = wordw) x = x+1; else if (arrayxy+1 = wordw) y = y+1; else break; else if (x<m-1) (y>0) if (arrayx+1y = wordw) x = x+1; else if (arrayxy-1 = wordw) y = y-1; else break; else if (x>0) (y<n-1) if (arrayx-1y = wordw) x = x-1; else if (arrayxy+1 = wordw) y = y+1; else break; else if (x>0) (y>0) if (arrayx-1y = wordw) x = x-1; else if (arrayxy-1 = wordw) y = y-1; else break; if ('0' = wordw) return 1; return 0; int main(void) int m, n; char word101; char input2121 = '0' scanf(%d %d, m, n); scanf(%s, word); for (int i=0; i<m; i+) scanf(%s,inputi); / for (int k=0; k<m; k+) / / for (int l=0; l<n;l+) / / printf(%c,inputkl); / / bool b = maze(input, m, n, word); if (1 = b) printf(YESn); else printf(NOn); return 0; 第12页 共12页第 12 页 共 12 页第 12 页 共 12 页第 12 页 共 12 页第 12 页 共 12 页第 12 页 共 12 页第 12 页 共 12 页第 12 页 共 12 页第 12 页 共 12 页第 12 页 共 12 页第 12 页 共 12 页