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

蓝桥杯2019年国赛——递增序列

题目描述

本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。

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

例如,如下矩阵中

LANN
QIAO

有LN、LN、AN、AN、IO、AO、LQ、AI、NO、NO、AQ、IN、ANLN、LN、AN、AN、IO、AO、LQ、AI、NO、NO、AQ、IN、AN 等 13个 递增序列。注意当两个字母是从左下到右上排列时,从左向右看和从上向下看 是不同的顺序。

对于下面的 30 行 50 列的矩阵,请问总共有多少个递增序列?

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

运行限制

  • 最大运行时间:1s
  • 最大运行内存: 128M

【代码及注释】

  • #include<bits/stdc++.h>
    using namespace std;
    char mp[50][50];
    int sum=0;
    int n=30,m=50;
    int check(int x,int y)
    {
    	int res=0;
    	char c=mp[x][y];
    	for(int i=y+1;i<m;i++)
    	{
    		if(mp[x][i]>c)
    			res++;
    	}//同一行 
    	for(int i=x+1;i<n;i++)
    	{
    		if(i!=x)
    		{
    			if(mp[i][y]>c)
    			res++;
    		}
    	}//同一列 
    	 int ii=x+1,jj=y-1;
    	 while(ii<n&&jj>=0)
    	 {
    	 	if(mp[ii][jj]!=c)
    	 		res++;
    	 	ii++,jj--;
    	 }//左下 
    	 //因为左下到右上排列,从左往右看和从上往下看只要两个字符不相等就符合 
    	 ii=x+1,jj=y+1;
    	 while(ii<n&&jj<m)
    	 {
    	 	if(mp[ii][jj]>c)
    	 		res++;
    	 	ii++,jj++;
    	 }//右下 
    	return res;
    }
    int main()
    {
    	for(int i=0;i<n;i++)
    	{
    		for(int j=0;j<m;j++)
    			cin>>mp[i][j];
    	}
    	for(int i=0;i<n;i++)
    	{
    		for(int j=0;j<m;j++)
    		{
    			sum+=check(i,j);
    		}
    	}
    	cout<<sum;
    	return 0;
    }


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

相关文章:

  • 你好,2025!JumpServer开启新十年
  • spring boot 多数据源集成mysql、postgresql、phoenix、doris等
  • PHP语言的数据库编程
  • [python3]Excel解析库-xlwt
  • 【PPTist】批注、选择窗格
  • Python爬虫基础——BeaytifulSoup模块
  • jdbctemplate,jpa,mybatis,mybatis-plus
  • [Django]创建项目+创建应用+启动服务
  • MySQL数据库中删除数据有哪些方法
  • react路由基础(六)
  • 淘宝开放平台API接口,接入方案如下
  • Learning Video Salient Object Detection Progressively from Unlabeled Videos笔记总结
  • IntelliJ IDEA2021安装教程
  • MOS的功耗计算-半桥的功耗
  • 第九章 React中的事件处理
  • ​力扣解法汇总1641. 统计字典序元音字符串的数目
  • MySQL OCP888题解071-干净关闭MySQL服务器
  • Matlab实现PCA算法(附上完整仿真源码)
  • AD360自助式密码管理
  • ActiViz.NET 9.2.2023 Crack
  • ToBeWritten之物联网通信接口调试
  • react常用语法
  • 2023年 合肥市庐阳区信息学竞赛区赛 小学组
  • shiro知识点梳理
  • Python 自动化指南(繁琐工作自动化)第二版:七、使用正则表达式的模式匹配
  • ES、MongoDB、HBase的区别和使用场景