#include <iostream>
#include <string>
#include <stack>
using namespace std;
int m,n,len;
bool **visited;
string word ,*MyMap;
struct  MyPoint
{int row;int col;
};bool fun(int cur ,MyPoint p)
{if (len == cur) //当先cur 等于单词的长度,则找到了。否则在点p的上下左右找单词中对应的下一个点并加到栈 sMP 中{return true;}stack<MyPoint> sMP;if (p.col-1>=0 && (!visited[p.row][p.col-1]) && word[cur] ==MyMap[p.row][p.col-1]){MyPoint mp;mp.row = p.row;mp.col = p.col-1;sMP.push(mp);}if (p.col+1<m && (!visited[p.row][p.col+1])&& word[cur] ==MyMap[p.row][p.col+1]){MyPoint mp;mp.row = p.row;mp.col = p.col+1;sMP.push(mp);}if (p.row-1>=0 && (!visited[p.row-1][p.col])&& word[cur] ==MyMap[p.row-1][p.col]){MyPoint mp;mp.row = p.row-1;mp.col = p.col;sMP.push(mp);}if (p.row+1<n && (!visited[p.row+1][p.col])&& word[cur] ==MyMap[p.row+1][p.col]){MyPoint mp;mp.row = p.row+1;mp.col = p.col;sMP.push(mp);}while(!sMP.empty()) //栈不为空的话就继续找{MyPoint mp = sMP.top();visited[mp.row][mp.col]=true; // 将字母设置为访问过if(!fun(cur+1,mp)) //判断以点mp对应的字母继续往下查找 是否能找到下一个对应的字母{visited[mp.row][mp.col]=false; //如果找不到 将mp 对应的字母设置为没有访问sMP.pop();// 将mp弹出栈}else{return true;// 找到的话返回true}}return false; //栈为空 还没找到的话 返回false
}
int main()
{while(cin>>m>>n){visited = new bool*[n];for (int i=0;i<n;i++){visited[i] = new bool[m];}for (int i=0;i<n;i++){for(int j=0; j<m; j++){visited[i][j]=false;}}cin>>word; // 单词len = word.length();MyMap = new string[n]; //字母表for(int i=0;i<n;i++){cin>>MyMap[i];}stack<MyPoint> sMP;for (int i=0; i<n; i++) //将单词的第一个字母相同的字母表对应的点加到栈里{for (int j=0; j<m; j++){if (word[0] == MyMap[i][j]){MyPoint mp;mp.row = i;mp.col = j;sMP.push(mp);}}}while(!sMP.empty()){MyPoint mp = sMP.top();visited[mp.row][mp.col]=true;if(!fun(0+1,mp)){visited[mp.row][mp.col]=false;sMP.pop();}else{cout<<"YES"<<endl;getchar();return 0;}}cout<<"NO"<<endl;getchar();return 0;}
}

5 5

SOLQ

CSUCY
EOQLH
COSOL
EKLQQ
PGRBC

按照单词顺序 在字母迷宫里找对应的单词,每个字母只能走一次

Word Maze(单词迷宫)相关推荐

  1. Word Maze单词迷宫C语言解法(详细注解)

    Word Maze单词迷宫C语言解法(详细注解) 题目描述 C语言代码 DFS算法 题目描述 Word Maze 是一个网络小游戏,你需要找到以字母标注的食物,但要求以给定单词字母的顺序吃掉.假设给定 ...

  2. 2015年华为实习生机试样题(记票统计,计算麻将的番数,Word Maze(单词迷宫))

    这是华为今年实习生招聘给的样题,还是特别喜欢考字符串处理问题. 记票统计 描述: 模拟n个人参加选举的过程,并输出选举结果:假设候选人有四人,分别用"A"."B" ...

  3. 华为软件类校招 2014年9月3日 熟悉机考环境 1.记票统计 2.求最大递增数 3.Word Maze(单词迷宫)

    (样题,已对外公布)记票统计 描述: 模拟n个人参加选举的过程,并输出选举结果:假设候选人有四人,分别用"A"."B"."C"." ...

  4. word maze 单词迷宫 (java语言编写)

    Word Maze 是一个网络小游戏,你需要找到以字母标注的食物,但要求以给定单词字母的顺序吃掉.如上图,假设给定单词 if,你必须先吃掉i然后才能吃掉f.但现在你的任务可没有这么简单,你现在处于一个 ...

  5. 华为上机题之Word Maze(单词迷宫)

    Word Maze 是一个网络小游戏,你需要找到以字母标注的食物,但要求以给定单词字母的顺序吃掉.如上图,假设给定单词if,你必须先吃掉i然后才能吃掉f. 但现在你的任务可没有这么简单,你现在处于一个 ...

  6. 20150802厦门大学华为校园提前批招聘机试体验题三:Word Maze(单词迷宫)

    题三: (样题,已对外公布)Word Maze(单词迷宫) 描述: Word Maze 是一个网络小游戏,你需要找到以字母标注的食物,但要求以给定单词字母的顺序吃掉.如上图,假设给定单词if,你必须先 ...

  7. 2015华为Word Maze 是一个网络小游戏,你需要找到以字母标注的食物

      Word Maze(单词迷宫) 描述: Word Maze 是一个网络小游戏,你需要找到以字母标注的食物,但要求以给定单词字母的顺序吃掉.如上图,假设给定单词 if,你必须先吃掉i然后才能吃掉f. ...

  8. 算法题--递归解法(化整思想、24点、全排列、单词迷宫解法加步骤)

    目录 递归思想 题目 24点 题目描述 解答要求 答案 解析 核心思想 步骤 全排列 题目描述 解答要求 答案 解析 核心思想 步骤 单词迷宫 题目描述 解答要求 答案 解析 核心思想 步骤 递归思想 ...

  9. word中英文单词字母之间自动有空格

    word中英文单词字母之间自动有空格 使用word是有时会出现这种情况 解决方法:开始–>字体–>Aa–>半角 结果:

最新文章

  1. java实现页面高效刷新_selenium高效应对Web页面元素刷新的实例讲解
  2. 英特尔分布式深度学习平台Nauta-安装、配置与管理指南
  3. 如何在CentOS 7上安装Apache
  4. combobox绑定数据
  5. 【Qt5.8】Qt5.8中QTableWidget 类介绍
  6. 国家开放大学2021春1032成本管理题目
  7. 7-227 PAT排名汇总 (25 分)
  8. JDBC实现学生信息管理系统(仅增删改查)
  9. eclipse测试java程序_java-同一项目中的Eclipse junit测试
  10. iptables 执行清除命令 iptables -F 要非常小心的
  11. 面试 SQL整理 必考的SQL面试题:经典20题
  12. 如果小米开放购买会怎么样?
  13. Load Switch负载开关详解
  14. 直通车点击率、点击率、创意图、关键词、出价卡位,提升直通车点击率的技巧和方法
  15. 记一次线上OOM问题分析与解决,涨知识了!
  16. Teamviewer 图文使用教程
  17. oracle 取系统当前年份_Oracle 之 获取当前日期及日期格式化
  18. 【python趣味小代码】为你女(男)神打造专属素描照,hhhhhh
  19. 小光棍数(同余定理)
  20. Infortrend VDI存储方案成功打入世界级光通信企业

热门文章

  1. OpenAVNU 带宽预留协议SRP代码分析
  2. matlab dsb调制,幅度调制(AM、DSB、SSB、VSB)
  3. 电商平台“阿里巴巴关键词搜索”api接口调用展示
  4. html idv垂直居中,2011最新整理idv+css标准.doc
  5. win7笔记本蓝牙连接蓝牙耳机设备,无法播放音乐,听不见声音
  6. 剑指Offer——滴滴笔试题+知识点总结
  7. ls算法java实现_Java API之算法 | 学步园
  8. Apple iPhone 8G手机误升级至2.0降级破解日记
  9. android app targetsdk从23升级到28
  10. 科属种XML文档三级树状图浏览的实现