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

多少个X 蓝桥杯模拟

问题描述

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

线段的长度相同,而且四条线段上的字母和中心点的字母相同。

  一个 X图形可以使用三个整数 r, c, L 来描述,其中 r, c 表示中心点位于第 r 行第 c 列,正整数 L 表

示引出的直线段的长度。 对于 1 到 L 之间的每个整数 i,X图形满足:第 r-i 行第 c-i 列与第 r 行第 c 列相

同,第 r-i 行第 c+i 列与第 r 行第 c 列相同,第 r+i 行第 c-i 列与第 r 行第 c 列相同,第 r+i 行第 c+i 列与

第 r 行第 c 列相同。

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

形。所有字母 Q 组成了一个 X图形。

  LAAALA

  ALQLQA

  AALQAA

  ALQLQA

  LAAALA

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

输入格式

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

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

输出格式

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

n,m = map(int,input().split())
map=[]
for i in range(n):
      map.append(input())  
cnt = 0
x = min(n,m)//2# 最长的长度最大为min(n,m)//2,因为X是对称的 不//2也行
for i in range(1,n-1):
        for j in range(1,m-1):
                for k in range(1,x+1):#判断45°方向上的字母是否相同
                        a,b,c,d= i-k,i+k,j-k,j+k
                        if a>=0 and b<n and c>=0 and d<m:
                                if map[i][j]==map[a][c]==map[a][d]==map[b][c]==map[b][d]:
                                        cnt+=1
                                else:#不break也行
                                        break
                                
                                
print(cnt)

http://www.kler.cn/a/4344.html

相关文章:

  • Python语言的编程范式
  • MySQL数据表基本操作
  • Redis集群部署详解:主从复制、Sentinel哨兵模式与Cluster集群的工作原理与配置
  • 【Linux】信号
  • 【gin】中间件使用之jwt身份认证和Cors跨域,go案例
  • Realsense相机驱动安装及其ROS通讯配置——机器人抓取系统基础系列(四)
  • dp-一和零
  • 『Linux从入门到精通』第 ⑧ 期 - 项目自动化构建工具——make/Makefile
  • 解决华为云鲲鹏arm架构运行IoTDB经常自动挂掉
  • 腾讯云短信接入发送短信 Java
  • CXL 2.0白皮书解读翻译:计算快速链路,相对于CXL 1.1的改进,有哪些提升和要求
  • 【索引失效如何排查】
  • 100种思维模型之反脆弱思维模型-40
  • 最全总结---36种MySQL时间函数
  • 芯片工程师的ChatGPT初体验(下)
  • Google巨大漏洞让Win10、11翻车,小姐姐马赛克白打了
  • springboot 整合Mybatis-Plus分页、自动填充功能
  • jenkins+sonarqube+自动部署服务
  • 嵌入式学习笔记——PWM与输入捕获(上)
  • leetcode 1402. Reducing Dishes(减少菜肴)
  • linux练习
  • 图解redis的client的实现
  • 如何防御DDOS攻击 DDOS攻击是什么意思
  • golang后端与android端TCP Socket通信数据解析格式问题
  • Linux配置DNS正向和反向解析练习
  • 正确认识2-ArmPEG NH2,2 Branched PEG Amine, 2 Arm/Branched PEG Amine,二臂聚乙二醇胺基,相关知识