蓝桥题库(X图形(矩阵))

简介: 蓝桥题库(X图形(矩阵))


给定一个字母矩阵。一个X图形由中心点和由中心点向四个45度斜线方向引出的直线段组成,四条线段的长度相同,而且四条线段上的字母和中心点的字母相同。

一个X图形可以使用三个整数r,c,LL来描述,其中r,c表示中心点位于第r行第c列,正整数L表示引出的直线段的长度。对于1到L之间的每个整数i,X图形满足:第r-i行第c-i列与第r行第c列相同,第r-i行第c+列与第r行第c列相同,第r+i行第c-i列与第r行第cr+ic+i列相同,第r+i行第c+i列与第r行第c列相同。

例如,对于下面的字母矩阵中,所有的字母L组成一个X图形,中间的5个L也组成一个X图形。所有字母Q组成了一个X图形。

LAAALA

ALQLQA

AALQAA

ALQLQA

LAAALA

给定一个字母矩阵,请求其中有多少个X图形。

输入格式

输入第一行包含两个整数n,m,分别表示字母矩阵的行数和列数。

接下来n行,每行m个大写字母,为给定的矩阵。

输出格式

输出一行,包含一个整数,表示答案。

样例输入:

5 6

LAAALA

ALQLQA

AALQAA

ALQLQA

LAAALA

样例输出:

3

题目剖析:

简单来说就是找到一个由字母组成的X图形,且每个边上的字母都与中心点的字母相同

算法设计:

1.从中心点向外辐射,每找到一个这样的图形,则次数加一,这种方法的时间复杂度较高

2.从最外层向中心点靠拢,如果中间遇到不满足条件的情况,则将次数置为0,然后重新开始计数

代码实现:

#include <stdio.h>
#include <stdlib.h>
int main()
{
    // 请在此输入您的代码
    int m, n;
    char ch[1000][1000];
    scanf("%d%d", &n, &m);
    getchar();
    for (int i = 0; i < n; i++)
    {
        for (int j = 0; j < m; j++)
        {
            scanf("%c", &ch[i][j]);
        }
        getchar();
    }
    int count, sum = 0;
    for (int i = 1; i < n - 1; i++)
    {
      count = 0;//中心点每换一次,计数器置为0
        for (int j = 1; j < m - 1; j++)
        {
            count = 0;
            for (int k = (i < (n - i) ? i : (n - i)) < (j < (m - j) ? j : (m - j)) ? (i < (n - i) ? i : (n - i)) : (j < (m - j) ? j : (m - j)); k > 0; k--)//找到不超过边界的最大边界
            {
                count++;
                if (ch[i][j] != ch[i - k][j - k] || ch[i][j] != ch[i + k][j - k] || ch[i][j] != ch[i - k][j + k] || ch[i][j] != ch[i + k][j + k])
                    count = 0;
            }
            sum += count;//把每次计数结果进行加和
        }
    }
    printf("%d", sum);
    return 0;
}
相关文章
|
4月前
|
SQL 人工智能 自然语言处理
业务持续变化时,语义层到底该怎么迭代才不会越改越乱?
业务持续变化时,语义层不能靠“打补丁”硬扛。关键在于构建可分层(对象/关系/属性/规则)、可回溯、可校验的迭代机制,实现映射、口径、对象、知识四类变更分离治理,并配套影响分析与持续校准闭环。
|
8月前
|
Kubernetes Cloud Native Nacos
MCP 网关实战:基于 Higress + Nacos 的零代码工具扩展方案
本文介绍一种基于开源 Higress 与 Nacos 的私有化 MCP 智能体网关架构,实现工具动态注册、Prompt 实时更新、多租户安全隔离,并支持在无外网、无 Helm 的生产环境中一键部署。
1086 25
MCP 网关实战:基于 Higress + Nacos 的零代码工具扩展方案
|
7月前
|
机器学习/深度学习 人工智能 物联网
Z Image标准版来了!专为微调而生的全能基座,兼顾真实与艺术!
Z-Image标准版正式开源!作为非蒸馏完整模型,它在生成质量、艺术风格多样性(支持动漫/插画等)、微调友好性(LoRA/ControlNet)、CFG精确控制及生成独特性方面全面升级,是开发者定制化图像生成的理想基座。
1710 5
|
8月前
|
人工智能 自然语言处理 供应链
AI领域必追的「技术+商业」双料导师:极睿科技武彬的硬核知识输出法则
武彬,清华计算机系本硕,极睿科技CEO,深耕AI+电商十余年。兼具技术实力与商业洞察,打造垂直大模型,服务4万+店铺、千家品牌,实现降本90%、GMV倍增。全平台粉丝480万,连续三年蝉联AI博主影响力冠军,以实战案例输出硬核知识,助力商家从内容到转化全面突破,树立“知行合一”行业标杆。(238字)
766 0
抖音对方粉丝列表批量关注,批量全自动私信群发插件,给对方博主的粉丝发送广告
这是一套用于抖音账号运营的自动化脚本工具,可帮助用户快速获取基础流量。通过模拟点击操作,自动完成关注、私信等功能,提高效率。
|
存储 安全 NoSQL
【📕分布式锁通关指南 09】源码剖析redisson之公平锁的实现
本文深入解析了 Redisson 中公平锁的实现原理。公平锁通过确保线程按请求顺序获取锁,避免“插队”现象。在 Redisson 中,`RedissonFairLock` 类的核心逻辑包含加锁与解锁两部分:加锁时,线程先尝试直接获取锁,失败则将自身信息加入 ZSet 等待队列,只有队首线程才能获取锁;解锁时,验证持有者身份并减少重入计数,最终删除锁或通知等待线程。其“公平性”源于 Lua 脚本的原子性操作:线程按时间戳排队、仅队首可尝试加锁、实时发布锁释放通知。这些设计确保了分布式环境下的线程安全与有序执行。
625 0
【📕分布式锁通关指南 09】源码剖析redisson之公平锁的实现
|
人工智能 供应链 搜索推荐
如何降低酒店运营成本?管理者不可不知的优化策略
在竞争激烈的酒店行业,提升管理效率、优化服务质量和客户满意度至关重要。本文探讨如何通过精准市场定位、高效运营管理、智能化管理系统及数字化工具,实现精细化管理,提供个性化服务,有效处理客户反馈,以提升酒店竞争力和客户体验。未来,智能化与个性化将成为行业发展的重要趋势。
927 21
|
供应链 Serverless BI
基于阿里云区块链服务(BaaS)的供应链金融系统开发与部署
随着区块链技术的快速发展,其在供应链金融领域的应用成为热点。阿里云区块链服务(BaaS)提供安全、高效、易用的平台,支持Hyperledger Fabric和蚂蚁区块链,帮助企业快速构建供应链金融系统。本文通过实战案例展示基于阿里云BaaS开发供应链金融系统的全流程,涵盖企业认证、应收账款融资、交易记录及数据分析等功能,显著提升透明度和可信度,降低融资成本。
|
XML 存储 安全
doc 和 docx 文件的区别
doc 和 docx 文件的区别
2394 5

热门文章

最新文章