深圳幻海软件技术有限公司 欢迎您!

【C语言蓝桥杯每日一题】—— 递增序列

2023-04-16

【C语言蓝桥杯每日一题】——递增序列😎前言🙌递增序列🙌总结撒花💞😎博客昵称:博客小梦😊最喜欢的座右铭:全神贯注的上吧!!!😊作者简介:一名热爱C/C++,算法等技术、喜爱运动、热爱K歌、敢于追梦的小博主!😘博主小留言:哈喽!😄各位CSDN的uu们,我是你的博客好友小梦,希望我的文章

【C语言蓝桥杯每日一题】—— 递增序列😎

  • 前言🙌
    • 递增序列🙌
  • 总结撒花💞

   
😎博客昵称:博客小梦
😊最喜欢的座右铭:全神贯注的上吧!!!
😊作者简介:一名热爱C/C++,算法等技术、喜爱运动、热爱K歌、敢于追梦的小博主!

😘博主小留言:哈喽!😄各位CSDN的uu们,我是你的博客好友小梦,希望我的文章可以给您带来一定的帮助,话不多说,文章推上!欢迎大家在评论区唠嗑指正,觉得好的话别忘了一键三连哦!😘

前言🙌

    哈喽各位友友们😊,我今天又学到了很多有趣的知识现在迫不及待的想和大家分享一下!😘我仅已此文,和大家分享【C语言蓝桥杯每日一题】—— 递增序列~ 都是精华内容,可不要错过哟!!!😍😍😍

递增序列🙌

对于一个字母矩阵,我们称矩阵中的一个递增序列是指在矩阵中找到两个字母,它们在同一行,同一列,或者在同一
45
45 度的斜线上,这两个字母从左向右看、或者从上向下看是递增的。

例如,如下矩阵中

LANN
QIAO
  • 1
  • 2

VLPWJVVNNZSWFGHSFRBCOIJTPYNEURPIGKQGPSXUGNELGRVZAG
SDLLOVGRTWEYZKKXNKIRWGZWXWRHKXFASATDWZAPZRNHTNNGQF
ZGUGXVQDQAEAHOQEADMWWXFBXECKAVIGPTKTTQFWSWPKRPSMGA
BDGMGYHAOPPRRHKYZCMFZEDELCALTBSWNTAODXYVHQNDASUFRL
YVYWQZUTEPFSFXLTZBMBQETXGXFUEBHGMJKBPNIHMYOELYZIKH
ZYZHSLTCGNANNXTUJGBYKUOJMGOGRDPKEUGVHNZJZHDUNRERBU
XFPTZKTPVQPJEMBHNTUBSMIYEGXNWQSBZMHMDRZZMJPZQTCWLR
ZNXOKBITTPSHEXWHZXFLWEMPZTBVNKNYSHCIQRIKQHFRAYWOPG
MHJKFYYBQSDPOVJICWWGGCOZSBGLSOXOFDAADZYEOBKDDTMQPA
VIDPIGELBYMEVQLASLQRUKMXSEWGHRSFVXOMHSJWWXHIBCGVIF
GWRFRFLHAMYWYZOIQODBIHHRIIMWJWJGYPFAHZZWJKRGOISUJC
EKQKKPNEYCBWOQHTYFHHQZRLFNDOVXTWASSQWXKBIVTKTUIASK
PEKNJFIVBKOZUEPPHIWLUBFUDWPIDRJKAZVJKPBRHCRMGNMFWW
CGZAXHXPDELTACGUWBXWNNZNDQYYCIQRJCULIEBQBLLMJEUSZP
RWHHQMBIJWTQPUFNAESPZHAQARNIDUCRYQAZMNVRVZUJOZUDGS
PFGAYBDEECHUXFUZIKAXYDFWJNSAOPJYWUIEJSCORRBVQHCHMR
JNVIPVEMQSHCCAXMWEFSYIGFPIXNIDXOTXTNBCHSHUZGKXFECL
YZBAIIOTWLREPZISBGJLQDALKZUKEQMKLDIPXJEPENEIPWFDLP
HBQKWJFLSEXVILKYPNSWUZLDCRTAYUUPEITQJEITZRQMMAQNLN
DQDJGOWMBFKAIGWEAJOISPFPLULIWVVALLIIHBGEZLGRHRCKGF
LXYPCVPNUKSWCCGXEYTEBAWRLWDWNHHNNNWQNIIBUCGUJYMRYW
CZDKISKUSBPFHVGSAVJBDMNPSDKFRXVVPLVAQUGVUJEXSZFGFQ
IYIJGISUANRAXTGQLAVFMQTICKQAHLEBGHAVOVVPEXIMLFWIYI
ZIIFSOPCMAWCBPKWZBUQPQLGSNIBFADUUJJHPAIUVVNWNWKDZB
HGTEEIISFGIUEUOWXVTPJDVACYQYFQUCXOXOSSMXLZDQESHXKP
FEBZHJAGIFGXSMRDKGONGELOALLSYDVILRWAPXXBPOOSWZNEAS
VJGMAOFLGYIFLJTEKDNIWHJAABCASFMAKIENSYIZZSLRSUIPCJ
BMQGMPDRCPGWKTPLOTAINXZAAJWCPUJHPOUYWNWHZAKCDMZDSR
RRARTVHZYYCEDXJQNQAINQVDJCZCZLCQWQQIKUYMYMOVMNCBVY
ABTCRRUXVGYLZILFLOFYVWFFBZNFWDZOADRDCLIRFKBFBHMAXX
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30

解题思路分析: 😍

  • 首先创建一个字符数组来存储以这个字符矩阵,必要忘了还要存储 ‘\0’。
  • 然后利用gets循环输入每一行的字符串。
  • 通过循环遍历这个矩阵的每一个元素。
  • 横向判断,从每一行的首元素开始,和该行的每一个元素进行比较,符合递增条件的就让count++。
  • 纵向判断:从第一列的首元素开始,和该列的每一个元素进行比较,符合递增条件的就让count++。
  • 和上面思路一致,让位于矩阵每一条右下斜线的前一个元素和后面元素依次进行比较,如果满足,就让count++。
  • 比较特殊的是矩阵每条右上斜线的判断,只需要根据先后两个元素相不相等作为判断条件。例如2x2 矩阵|a b| |c d|的副对角线为cb,从左往右顺序为cb,从上往下顺序为bc,也就是说只要
    这两个字母不相等,必回有一次count++。而右下斜线就不能这样判断,因为其从左到右和从上到下的排列顺序都是一样的。以上面的那个2x2 矩阵|a b| |c d|的主对角线为例,从左往右顺序为,从上往下顺序为ad,所以要和右上斜线判断条件区分开来不要混淆了。

解题源码分享: 😍

#include <stdlib.h>
#include <stdio.h>
#include<string.h> 
int main()
{
    //输入的是一个字符串,别忘了存放\0
    char str[30][51];
    int i = 0;
    int j = 0;
    int l = 0;
    for (i = 0; i < 30; i++) 
    {
        gets(str[i]);
    }
    //斜向坐标
    int m = 0;
    int n = 0;
    int count = 0;

    for (i = 0; i < 30; i++)
    {
        for (j = 0; j < 50; j++)
        {
//横向
for (l = j; l < 50; l++)
{
if (str[i][j] < str[i][l])
count++;
}
               
//纵向
for (l = i; l < 30; l++)
{
if (str[i][j] < str[l][j])
count++;
}
                
//右下,斜向
for (m = i, n = j; m < 30 && n < 50; m += 1, n += 1)
{
if (str[i][j] < str[m][n])
count++;
}
                
//右上,斜向
for (m = i, n = j; m >= 0 && n < 50; m -= 1, n += 1) 
{
if (str[i][j] != str[m][n])
count++;
}
        }
    }

    printf("%d", count);
    return 0;
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56

程序输出结果验证: 😊

总结撒花💞

   本篇文章旨在分享【C语言蓝桥杯每日一题】—— 递增序列。希望大家通过阅读此文有所收获!😘如果我写的有什么不好之处,请在文章下方给出你宝贵的意见😊。如果觉得我写的好的话请点个赞赞和关注哦~😘😘😘

文章知识点与官方知识档案匹配,可进一步学习相关知识
算法技能树首页概览44207 人正在系统学习中