蓝桥杯-X图形

问题描述

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

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

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

LAAALA

ALQLQA

AALQAA

ALQLQA

LAAALA

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

原题链接:用户登录

java 复制代码
import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int n,m;
        n = scanner.nextInt();
        m = scanner.nextInt();
        char[][] JuZhen = new char[n][m];
        int count = 0;

        for (int i = 0; i < n; i++) {
            String YuanSu = scanner.next();
            for (int j = 0; j < m; j++) {
                JuZhen[i][j] = YuanSu.charAt(j);
            }
        }
        for (int i = 0; i < n; i++) {
            for (int j = 0; j < m; j++) {
                for (int k = 1; i-k >= 0 && i+k < n && j-k >= 0 && j+k < m; k++) {
                    if (JuZhen[i][j] == JuZhen[i - k][j - k]
                            && JuZhen[i][j] == JuZhen[i - k][j + k]
                            && JuZhen[i][j] == JuZhen[i + k][j - k]
                            && JuZhen[i][j] == JuZhen[i + k][j + k]) {
                        count++;
                    } else {
                        break;
                    }
                }
            }
        }
        scanner.close();
        System.out.println(count);
    }
}

总结:头晕,浮躁,唉,难受,感觉自己太浮躁了,学习效率好低好低,呜呜呜,而且感觉精神有些萎靡,应该是内耗。

不过究其根本,貌似是因为今天发生的一件事情,让我心情瞬间低落了下去。

今天吃完席回家,想着拉人开把游戏玩玩,然后给我打自闭了,真服了, 打不了,根本打不了,气得我直接自己主动去掉分,掉段位,感觉游戏真没意思啊。

主要还是因为和人家高段位玩家,很大佬的人一起组队打的游戏,匹配的敌人队友,都是段位分数上高我大概有两千多分的。

笑死,根本打不了,这根本不是我这段位该接触到的。

第一次打游戏打的自闭......

唉,还是好好学习吧,但是因为这件事情之后,学不下去,好浮躁啊呜呜呜。

还是得调整呜呜呜。

相关推荐
夜思红尘3 小时前
算法--双指针
python·算法·剪枝
散峰而望3 小时前
【算法竞赛】C++函数详解:从定义、调用到高级用法
c语言·开发语言·数据结构·c++·算法·github
CoderCodingNo3 小时前
【GESP】C++五级真题(贪心思想考点) luogu-B4071 [GESP202412 五级] 武器强化
开发语言·c++·算法
我有一些感想……4 小时前
An abstract way to solve Luogu P1001
c++·算法·ai·洛谷·mlp
前端小L4 小时前
双指针专题(三):去重的艺术——「三数之和」
javascript·算法·双指针与滑动窗口
智者知已应修善业5 小时前
【求等差数列个数/无序获取最大最小次大次小】2024-3-8
c语言·c++·经验分享·笔记·算法
LYFlied5 小时前
【每日算法】LeetCode 416. 分割等和子集(动态规划)
数据结构·算法·leetcode·职场和发展·动态规划
多米Domi0115 小时前
0x3f 第19天 javase黑马81-87 ,三更1-23 hot100子串
python·算法·leetcode·散列表
历程里程碑6 小时前
滑动窗口最大值:单调队列高效解法
数据结构·算法·leetcode
課代表6 小时前
从初等数学到高等数学
算法·微积分·函数·极限·导数·积分·方程