蓝桥杯-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 图形。
 

原题链接:用户登录

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);
    }
}

 

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

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

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

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

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

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

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

还是得调整呜呜呜。

你可能感兴趣的:(算法,算法)