【问题描述】
给定一个字母矩阵,定义一个LQ三角形为某行中连续的几个字母、某列中连续的几个字母和一条45度的斜线中连续的几个字母组成的等腰直角三角形的边缘部分,其中每条边上的字母数量相等且至少为2 。

例如,对于下面的字母矩阵中,所有的字母 L 组成一个LQ三角形,所有字母 Q 组成了一个 LQ 三角形,所有字母 C 也组成了一个 LQ 三角形。

AAAAAAA
ALLLLLA
ALQQLAA
ALQLAAC
ALLAACC
ALAACCC

如果一个 LQ 三角形边上的所有字母相等,则称为一个全相等三角形。以三个例子都是全相等三角形。

给定一个字母矩阵,请求其中有多少个全相等三角形。

【输入格式】

输入第一行包含两个整数 n, m,分别表示字母矩阵的行数和列数。
接下来 n 行,每行 m 个大写字母,为给定的矩阵。

【输出格式】

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

【样例输入】

3 4
AAAA
ALAQ
ALQQ

【样例输出】

4

【样例输入】

6 7
AAAAAAA
ALLLLLA
ALQQLAA
ALQLAAC
ALLAACC
ALAACCC

【样例输出】

23

题解:枚举

#include <bits/stdc++.h>using namespace std;const int N = 15;int n, m;
int len;
int ans = 0;
string a[N];bool check(int i, int j, int di, int dj)
{char c = a[i][j];for(int k = 0; k < len - 1; k++){i += di;j += dj;if(i < 0 || i >= n || j < 0 || j >= m) return false;if(c != a[i][j]) return false;}return true;
}int main()
{cin >> n >> m;for(int i = 0; i < n; i++){cin >> a[i];}for(len = min(n, m); len >= 2; len--){for(int i = 0; i < n; i++){for(int j = 0; j < m; j++){ans += (check(i, j, 1, 0) && check(i, j, 0, 1) && check(i + len - 1, j, -1, 1));ans += (check(i, j, 1, 0) && check(i, j, 0, -1) && check(i + len - 1, j, -1, -1));ans += (check(i, j, -1, 0) && check(i, j, 0, 1) && check(i - len + 1, j, 1, 1));ans += (check(i, j, -1, 0) && check(i, j, 0, -1) && check(i - len + 1, j, 1, -1));}}}cout << ans << endl;return 0;
}

第十四届蓝桥杯模拟赛c++ 试题 I相关推荐

  1. 2022 第十四届蓝桥杯模拟赛第一期(题解与标程)

    第十四届蓝桥杯模拟赛第一期 1. 二进制位数 问题描述 答案提交 参考答案 2. 晨跑 问题描述 答案提交 参考答案 3. 调和级数 问题描述 答案提交 参考答案 程序验证 4. 山谷 问题描述 答案 ...

  2. 第十四届蓝桥杯模拟赛(第三期)Java组个人题解

    第十四届蓝桥杯模拟赛(第三期)Java组个人题解

  3. 第十四届蓝桥杯模拟赛第一期试题【Java解析】

    目录 A 二进制位数 问题描述 答案提交 参考答案 解析 B 晨跑 问题描述 答案提交 参考答案 解析 C 调和级数 问题描述 答案提交 参考答案 解析 D 山谷 问题描述 答案提交 参考答案 解析 ...

  4. 第十四届蓝桥杯模拟赛【第三期】Python

    [算法训练题型] 题解 [蓝桥杯2022年真题]题解 1 进制转换 问题描述 请找到一个大于 2022 的最小数,这个数转换成十六进制之后,所有的数位(不含前导 0)都为字母(A 到 F). 请将这个 ...

  5. 竞赛——【蓝桥杯】2022年11月第十四届蓝桥杯模拟赛第一期Python

    1.二进制位数 问题描述 十进制整数 2 在十进制中是 1 位数,在二进制中对应 10 ,是 2 位数. 十进制整数 22 在十进制中是 2 位数,在二进制中对应 10110 ,是 5 位数. 请问十 ...

  6. 第十四届蓝桥杯模拟赛(第一期)——C语言版

    1. 二进制位数 问题描述 十进制整数 2 在十进制中是 1 位数,在二进制中对应 10 ,是 2 位数. 十进制整数 22 在十进制中是 2 位数,在二进制中对应 10110 ,是 5 位数. 请问 ...

  7. 2022年第十四届蓝桥杯模拟赛【核酸日期】C语言详解

    目录 题目 思路 代码实现 题目 核酸日期 问题描述 如果周一做核酸,周二显示核酸天数为 1 天,周三显示 2 天,以此类推,周六显示 5 天,周日显示 6 天. 小蓝在某一天做了一次核酸,请问他的核 ...

  8. 第十四届蓝桥杯模拟赛(Python)

    写在前面 本篇题解涵盖范围为1 - 8 题,最后两题本人没能解出来 使用语言为Python 过样例 不确定能否AC 仅供参考 若有错误 欢迎指出 最后两题若有佬会 可以评论给出你的思路 感激不尽

  9. 第十四届蓝桥杯省赛C/C++研究生组试题及答案分享

    填空2题:与或异或 图中的每个三角形为:与.或.异或这三种运算中的一种,请问对于输入为{1,0,1,0,1}时,使得输出为1的三角运算符的组合有多少种? 思路:遍历每个三角,使其为与.或.异或的一种, ...

最新文章

  1. mysql mha官网下载_mysql MHA 及多主复制
  2. 人人都在加注芯片,英特尔却一头扎向医疗
  3. linux nfs搭建
  4. Cortex-M3启动深度解析
  5. 深入SecureFile—新一代LOB揭秘000
  6. 【Clique Problem】
  7. spring配置freemarker
  8. string java getbytes_从 String.getBytes 理解 Java 编码和解码
  9. Centos7 下安装配置tomcat7
  10. Firefox, IE等不同浏览器对JavaScript,CSS不同解析问题 (转备以后使用)
  11. Oracle数据库监听配置|转|
  12. Java LinkedHashMap getOrDefault()方法与示例
  13. cassandra随机获取数据_Cassandra维护最终一致性 和存储机制 分区策略
  14. Spark基础学习笔记16:创建RDD
  15. Get_key.c模块流程
  16. hdu1284钱币兑换问题
  17. zynq开发系列6:创建AXI IP实现PS对PL的数据配置(步骤三配置SDK)
  18. smtplib发送带附件的邮件
  19. java课程设计员工信息管理系统,javaweb课程设计之员工信息管理系统
  20. 编译原理-第一章:引论

热门文章

  1. 微信小程序之如何实现一寸照片换底色(附小程序成品)
  2. 系数为多项式的幂级数求和
  3. u盘启动 联想一体机_联想一体机怎么设置U盘启动?
  4. jwt的token要存mysql吗_认证的token不存到数据库
  5. 静态方法能被重写么?
  6. elsearch mysql实时索引_MySQL和Lucene(Elasticsearch)索引对比分析
  7. 问题 : Day of Week
  8. java 摄像头 视频_javaCV-摄像头实时视频
  9. Google Chrome源码剖析
  10. 使用mediapipe和OpenCV实现摄像头实时人脸检测