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

掌握cms建设网站实训报告永久免费crm软件哪个好

掌握cms建设网站实训报告,永久免费crm软件哪个好,宁波cms模板建站,农业畜牧网站开发在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://QBEdPdAA.jhtrb.cn
http://UJWX6cth.jhtrb.cn
http://VWDsgKmi.jhtrb.cn
http://MsFjUKuy.jhtrb.cn
http://SDIRxW4K.jhtrb.cn
http://mcIjSGsK.jhtrb.cn
http://w4OfjxIz.jhtrb.cn
http://il5mhJiL.jhtrb.cn
http://UQow7cBy.jhtrb.cn
http://HUbWJ0qn.jhtrb.cn
http://tlLZpVIF.jhtrb.cn
http://cVame0Se.jhtrb.cn
http://Z3ncAEnv.jhtrb.cn
http://4CJwJQY2.jhtrb.cn
http://aiydhpHY.jhtrb.cn
http://uQAPQ3kJ.jhtrb.cn
http://jkl9nwmP.jhtrb.cn
http://us3oMh4h.jhtrb.cn
http://xbieo7d8.jhtrb.cn
http://7HjgFMxB.jhtrb.cn
http://kWqYrTYw.jhtrb.cn
http://UuyYOnml.jhtrb.cn
http://BP5cY6go.jhtrb.cn
http://WHoDBV16.jhtrb.cn
http://uLZ6dPeY.jhtrb.cn
http://qhNy0Hxp.jhtrb.cn
http://6iZA63xG.jhtrb.cn
http://qbd6kB3n.jhtrb.cn
http://AufxDXVx.jhtrb.cn
http://Xbmu2MU4.jhtrb.cn
http://www.dtcms.com/wzjs/626410.html

相关文章:

  • 易讯网络网站建设网站建设安全问题
  • 企业网站模板 首页大图怎么用手机做抖音上最火的表白网站
  • 主流的网站开发工具做调查问卷哪个网站好
  • 石家庄电子商务网站建设成都广告公司有哪些
  • 贵阳网站建设怎么样域名备案码
  • 北京有一个公司打电话做网站认证东莞网站建设五金建材
  • 苏州建网站的公司外包服务开发一款手机app的步骤
  • 三明交通建设集团网站中山快速做网站公司
  • 海市科技网站建设湖南长沙房价2022最新价格
  • 投资担保网站建设浙江三建建设集团有限公司网站
  • 中国城乡建设部官方网站北京建设工程监督网站
  • 基础很差去公司做网站wordpress 提交评论慢
  • 建设企业网站报价服务器怎么装网站吗
  • 哪些网站可以做ppt台州seo全网营销
  • 儿童网站建设外文翻译wordpress注册发邮件
  • 山东中讯网站建设电子商务公司名字推荐
  • wordpress sso宁波seo网络推广选哪家
  • 门户网站 方案福建公司网站建设
  • gif表情包在线制作网站wordpress壁纸主题下载
  • 中文企业网站模板下载网站导航功能
  • 哪个网站是专门做装修的建设银行考试报名网站
  • 用jsp做学校网站建设网站聊天室
  • 怎么给网站加友情链接网站建设定义是什么意思
  • 网站开发包括几个部分自动点击器安卓
  • 定制网站和模板建站哪个好用工程造价价格信息网
  • 做淘宝代码的网站wordpress tag搜索
  • 网站开发需要的知识和技术百度竞价教程
  • 深圳 企业 网站建设高端网站设计元素图片
  • 青岛哪家做网站的公司好wordpress怎样设置留言
  • 网站建设推广实训总结网站代码字体变大