当前位置: 首页 > wzjs >正文

网站建设设计服务商php网页设计

网站建设设计服务商,php网页设计,wordpress问卷模板,网页美工设计总结在CCC单词搜索游戏中,单词隐藏在一个字母网格中。目标是确定给定单词在网格中隐藏的次数。单词可以以直线或直角的方式排列。以下是详细的解题思路及代码实现: 传送门: https://www.luogu.com.cn/problem/P9303 解题思路 输入读取与初始化&…

在CCC单词搜索游戏中,单词隐藏在一个字母网格中。目标是确定给定单词在网格中隐藏的次数。单词可以以直线或直角的方式排列。以下是详细的解题思路及代码实现:

传送门: https://www.luogu.com.cn/problem/P9303

解题思路

  1. 输入读取与初始化

    • 读取要搜索的单词和网格的行数、列数。
    • 将网格存储为二维向量。
  2. 方向定义

    • 定义八个可能的搜索方向,包括上、右上、右、右下、下、左下、左、左上。
  3. 边界检查

    • 检查给定的坐标是否在网格范围内。
  4. 深度搜索

    • 从网格中每个与单词首字母匹配的位置开始,向八个方向进行深度搜索。
    • 在搜索过程中,可以继续沿当前方向或在未转过弯的情况下沿垂直方向继续搜索。
  5. 计数

    • 统计所有可能的单词匹配方式,并输出总的匹配次数。

代码实现

#include <iostream>
#include <vector>
#include <string>using namespace std;int r, c;
string word;
int length;
vector<vector<string>> graph;// 定义八个可能的搜索方向
const int dx[8] = {-1,-1, 0, 1, 1, 1, 0,-1};
const int dy[8] = { 0, 1, 1, 1, 0,-1,-1,-1};// 检查坐标是否在网格范围内
bool good(int x, int y) {return x >= 0 && x < r && y >= 0 && y < c;
}// 深度搜索函数
int search(int x, int y, int cur, bool turned, int dirn) {if (cur == length - 1) return 1; // 找到完整匹配int cnt = 0;// 继续沿当前方向搜索int nx = x + dx[dirn], ny = y + dy[dirn];if (good(nx, ny) && graph[nx][ny] == string(1, word[cur + 1])) {cnt += search(nx, ny, cur + 1, turned, dirn);}// 如果未转过弯,尝试沿垂直方向搜索if (!turned) {int turnDirs[2] = {(dirn + 2) % 8, (dirn + 6) % 8}; // 计算垂直方向for (int k = 0; k < 2; ++k) {int newDir = turnDirs[k];int tx = x + dx[newDir], ty = y + dy[newDir];if (good(tx, ty) && graph[tx][ty] == string(1, word[cur + 1])) {cnt += search(tx, ty, cur + 1, true, newDir);}}}return cnt;
}int main() {cin >> word;length = word.length();cin >> r >> c;// 初始化网格graph.resize(r, vector<string>(c));for (int i = 0; i < r; ++i)for (int j = 0; j < c; ++j)cin >> graph[i][j];int count = 0;// 遍历网格,寻找所有可能的起点for (int i = 0; i < r; ++i) {for (int j = 0; j < c; ++j) {if (graph[i][j] == string(1, word[0])) { // 找到单词首字母for (int k = 0; k < 8; ++k) { // 尝试所有方向int ni = i + dx[k], nj = j + dy[k];if (good(ni, nj) && graph[ni][nj] == string(1, word[1])) { // 确保第二字母匹配count += search(ni, nj, 1, false, k); // 开始深度搜索}}}}}cout << count << endl; // 输出结果return 0;
}

总结

以上代码实现了对字母网格中单词的搜索,能够处理单词以直线或直角方式排列的情况。通过深度搜索,代码能够有效地找出所有可能的匹配,并统计匹配次数。


文章转载自:

http://9OOKBC5x.fyxtn.cn
http://v8XSBhwg.fyxtn.cn
http://59xrAkky.fyxtn.cn
http://VYlyw0bc.fyxtn.cn
http://0En5j0hL.fyxtn.cn
http://BOIuU8GF.fyxtn.cn
http://rtQNOQoe.fyxtn.cn
http://eWxVS381.fyxtn.cn
http://UL8uZAtu.fyxtn.cn
http://Wcw383By.fyxtn.cn
http://dw2IxNWe.fyxtn.cn
http://wk2JdCob.fyxtn.cn
http://wRcvBm8I.fyxtn.cn
http://EL4SgsIa.fyxtn.cn
http://Ll1tlhCJ.fyxtn.cn
http://WR7iHinD.fyxtn.cn
http://ipvfgDGh.fyxtn.cn
http://GNR5XLdn.fyxtn.cn
http://ySmH6yPS.fyxtn.cn
http://YMeZD9XX.fyxtn.cn
http://OY8WUfeS.fyxtn.cn
http://ZZKs7HOz.fyxtn.cn
http://wrHd1B12.fyxtn.cn
http://WZTDX5tH.fyxtn.cn
http://JHLE9SQX.fyxtn.cn
http://o0b1MvP1.fyxtn.cn
http://K85HOhFE.fyxtn.cn
http://i7atNKQX.fyxtn.cn
http://87lsOdRG.fyxtn.cn
http://iRJmWjyA.fyxtn.cn
http://www.dtcms.com/wzjs/648435.html

相关文章:

  • 做个网站费用多少合适川畅互联咨询 网站建设
  • 展示型企业网站有哪些wordpress加统计代码
  • 网站更换空间 收录慢免费crm网站下载的软件
  • 阿里营销网站建设中核二三公司是国企还是央企
  • 电子商务网站建设与管理期末考试怎样制作静态网站
  • 互联网网站建设咨询网站建设的实验小结
  • 如何做起一个网站推广复杂的手游app要多少钱
  • 为什么买的网站模版不好用下载网站软件免费安装
  • 安全标准化建设网站长沙58同城招聘网最新招聘
  • 如何知道别人的网站流量来自于哪里给网站定位
  • 网站备案流程以及所需资料学校网站建设分析
  • 深圳建设网站公司东莞58同城网招聘找工作
  • ppt免费下载雷锋网站西安做网站维护的公司
  • 网站建设公司在哪里开发平台都有哪些
  • 深圳商城网站设计推荐域名购买万网
  • 银川网站建设公司哪家好wordpress添加悬浮按钮
  • 快速做网站团队wordpress 进后台
  • 陵水网站建设哪家好兰州专业做网站的公司有哪些
  • 新开的公司建立网站有哪些要做的注册公司流程图
  • 微信网站cms房产网站代理
  • 网站集约化建设难点中国建设银行网站登录不上
  • 新乡网站建设设计公司栖霞酒店网站设计价格
  • 网站建设需要哪些材料企业网站模板建站
  • 上海高端网站定制开发什么是网站开发技术
  • nodejs做的网站排名好的网站建设企业
  • 企业网站建设公司电话c2m模式的电商平台有哪些
  • 网站备案 备注关联性如何做一个自己的电商平台
  • 宁波网站建设那家好自己做彩票网站简单吗
  • 潮州建设局网站网络舆情案例分析
  • 汽修网站怎么做建设电影网站视频