P1101 单词方阵

这篇具有很好参考价值的文章主要介绍了P1101 单词方阵。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

P1101 单词方阵,算法,c++,图论

网址如下:

P1101 单词方阵 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)

开学哩

水了一题

代码如下:文章来源地址https://www.toymoban.com/news/detail-826072.html

#include<iostream>
using namespace std;
const char s_yizhong[] = "yizhong";
bool judge(int x, int y, int d_x, int d_y, int m);
char c_martix[101][101];
bool is_martix[101][101];
int n;

int main(void)
{
    //输入
    cin >> n;
    for(int i = 0; i < n; i++)
        cin >> c_martix[i];
    //处理
    for(int i = 0; i < n; i++)
        for(int j = 0; j < n; j++)
            if(c_martix[i][j] == 'y')
            {
                judge(i, j, 1, 1, 0), judge(i, j, -1, -1, 0), judge(i, j, -1, 1, 0), judge(i, j, 1, -1, 0);
                judge(i, j, 1, 0, 0), judge(i, j, 0, 1, 0), judge(i, j, -1, 0, 0), judge(i, j, 0, -1, 0);
            }
    //输出
    for(int i = 0; i < n; i++)
    {
        for(int j = 0; j < n; j++)
            if(is_martix[i][j])  cout << c_martix[i][j];
            else  cout << '*';
        cout << endl;
    }

    return 0;
}
bool judge(int x, int y, int d_x, int d_y, int m)
{
    if(x == n || y == n || x < 0 || y < 0 || c_martix[x][y] != s_yizhong[m])  return false;
    if(m == 6){is_martix[x][y] = true;  return true;}
    else
    {
        bool is_tmp = judge(x + d_x, y + d_y, d_x, d_y, m + 1);
        if(!is_martix[x][y])  is_martix[x][y] = is_tmp;
        return is_tmp;
    }
}

到了这里,关于P1101 单词方阵的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 算法设计与分析实验:分治与减治算法实验:题目1 数字旋转方阵程序设计

    目录 前言 一、数字旋转方阵 二、实验内容 三、实验目的 四、实验步骤 五、实验过程  总结 算法同样是计算机四大件的一个很重要的内容,本实验的目的是通过编写一个数字旋转方阵程序,来掌握分治与减治算法的基本思想和实现方法。 数字旋转方阵是一个n×n的矩阵,其

    2024年02月01日
    浏览(108)
  • 面试算法108:单词演变

    输入两个长度相同但内容不同的单词(beginWord和endWord)和一个单词列表,求从beginWord到endWord的演变序列的最短长度,要求每步只能改变单词中的一个字母,并且演变过程中每步得到的单词都必须在给定的单词列表中。如果不能从beginWord演变到endWord,则返回0。假设所有单词只

    2024年02月01日
    浏览(43)
  • 算法-图BFS/DFS-单词接龙

    https://leetcode-cn.com/problems/number-of-islands 给定两个单词(beginWord 和 endWord)和一个字典,找到从 beginWord 到 endWord 的最短转换序列的长度。转换需遵循如下规则: 每次转换只能改变一个字母。 转换过程中的中间单词必须是字典中的单词。 说明: 如果不存在这样的转换序列,返回

    2024年02月10日
    浏览(42)
  • 递归算法学习——N皇后问题,单词搜索

    目录 ​编辑 一,N皇后问题 1.题意 2.解释 3.题目接口 4.解题思路及代码 二,单词搜索 1.题意 2.解释 3.题目接口 4.思路及代码 1.题意 按照国际象棋的规则,皇后可以攻击与之处在同一行或同一列或同一斜线上的棋子。 n 皇后问题  研究的是如何将  n  个皇后放置在  n×n  的

    2024年02月09日
    浏览(40)
  • 【算法】串联所有单词的子串【滑动窗口】

    滑动窗口

    2024年01月19日
    浏览(43)
  • 算法leetcode|79. 单词搜索(rust重拳出击)

    给定一个 m x n 二维字符网格 board 和一个字符串单词 word 。如果 word 存在于网格中,返回 true ;否则,返回 false 。 单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水平相邻或垂直相邻的单元格。同一个单元格内的字母不允许被重复使用。

    2024年02月09日
    浏览(58)
  • 【C++算法竞赛 · 图论】图论基础

    前言 图论基础 图的相关概念 图的定义 图的分类 按数量分类: 按边的类型分类: 边权 简单图 度 路径 连通 无向图 有向图 图的存储 方法概述 代码 复杂度 图论(Graph theory) ,是 OI 中的一样很大的一个模块,围绕它有很多高难度的算法以及高级的概念。 这篇文章将介绍关

    2024年04月12日
    浏览(42)
  • 图论与算法(1)图论概念

    在计算机科学中,图论与算法是两个重要且紧密相关的领域。图论研究图的性质和特征,而算法设计和分析解决问题的方法和步骤。图论提供了一种形式化的方法来描述和分析各种关系和连接,而算法则为解决图相关的问题提供了有效的解决方案。 图论是研究图的结构和性质

    2024年02月07日
    浏览(42)
  • 算法leetcode|58. 最后一个单词的长度(rust重拳出击)

    给你一个字符串 s ,由若干单词组成,单词前后用一些空格字符隔开。返回字符串中 最后一个 单词的长度。 单词 是指仅由字母组成、不包含任何空格字符的最大子字符串。 1 = s.length = 10 4 s 仅有英文字母和空格 ’ ’ 组成 s 中至少存在一个单词 面对这道算法题目,二当家的

    2024年02月13日
    浏览(52)
  • 序列检测“1101”

    目录 1.题意描述 2.利用摩尔型状态机求解  3.利用米利型状态机求解 4.摩尔型状态机与米利型状态机的区别 用状态机检测“1101”序列,当检测到后将o_valid标志信号拉高。考虑序列叠加情况,即“1101101101”将会识别出3个“1101” 摩尔型状态机:输出只与当前状态有关,与当前

    2024年02月06日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包