本题答案可能是错的,我算出的是180414,和很多博主的答案不一样,我也不太懂哪里有问题,大家可以探讨一下
题目描述
对于一个字母矩阵,我们称矩阵中的一个三升序列是指在矩阵中找到三个字母,它们在同一行,同一列,或者在同一45 度的斜线上,这三个字母从左向右看、或者从上向下看是递增的。
例如,如下矩阵中
YQPD
BKEZ
AFYV
有BKZ、BEZ、AFY、AFV、AKP、DEF 等6 个三升序列。注意当三个字母是从左下到右上排列时,从左向右看和从上向下看是不同的顺序。对于下面的30 行50 列的矩阵,请问总共有多少个三升序列?(如果你把以下文字复制到文本文件中,请务必检查复制的内容是否与文档中的一致。在试题目录下有一个文件inc.txt,内容与下面的文本相同)
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
【答案提交】
这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一
个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。

#include<iostream>
#include<string>
using namespace std;
char text[30][500];
void copytext(){char c[500];int line = 0;FILE *fp = fopen("inc.txt","r");if (fp==NULL){cout<<"failed to open file!"<<endl;}else{while(fgets(c,500,fp))strcpy(text[line++],c);}fclose(fp);
}
int main(){int temp1,temp2;int hang=30;int lie=50;int i,j,k,r=0,count=0;copytext();//求每行的三升序列for(i=0;i<hang;i++)for(j=0;j<lie;j++)for(k=j+1;k<lie;k++)if(text[i][j]<text[i][k] && text[i][k]<90)for(r=k+1;r<lie;r++)if(text[i][k]<text[i][r])count++;//求每列的三升序列for(i=0;i<lie;i++)for(j=0;j<hang;j++)for(k=j+1;k<hang;k++)if(text[j][i]<text[k][i] && text[k][i]<90)for(r=k+1;r<hang;r++)if(text[k][i]<text[r][i])count++;//求左下到右上对角线的三升序列for(i=2;i<hang;i++)for(j=0;j<lie;j++){k=j;r=i;while(r-1>=0 && k+1<lie){if(text[i][j]<text[r-1][k+1] && text[r-1][k+1]<90){temp1=r-2;temp2=k+2;while(temp1>=0 && temp2<lie){if(text[r-1][k+1]<text[temp1][temp2])count++;temp1--;temp2++;}}k++;r--;}}//求右上到左下对角线的三升序列for(i=0;i<hang;i++)for(j=2;j<lie;j++){k=j;r=i;while(k-1>=0 && r+1<hang){if(text[i][j]<text[r+1][k-1] && text[r+1][k-1]<90){temp1=r+2;temp2=k-2;while(temp2>=0 && temp1<hang){if(text[r+1][k-1]<text[temp1][temp2])count++;temp2--;temp1++;}}k--;r++;}}//求左上到右下对角线的三升序列for(i=0;i<hang;i++)for(j=0;j<lie;j++){k=j;r=i;while(r+1<hang && k+1<lie){if(text[i][j]<text[r+1][k+1] && text[r+1][k+1]<90){temp1=r+2;temp2=k+2;while(temp1<hang && temp2<lie){if(text[r+1][k+1]<text[temp1][temp2])count++;temp1++;temp2++;}}k++;r++;}}cout<<count<<endl;return 0;
}

C/C++蓝桥杯三升序列相关推荐

  1. [蓝桥杯]三升序列(Python实现)

    题目: 对于一个字母矩阵,我们称矩阵中的一个三升序列是指在矩阵中找到三个字母,它们在同一行,同一列,或者在同一 45 度的斜线上,这三个字母从左向右看.或者从上向下看是递增的. 例如,如下矩阵中 YQ ...

  2. [蓝桥杯] 三升序列 python解法

    [问题描述] 对于一个字母矩阵,我们称矩阵中的一个三升序列是指在矩阵中找到三个字母,它们在同一行,同一列,或者在同一 45 度的斜线上,这三个字母从左向右看.或者从上向下看是递增的. 例如,如下矩阵中 ...

  3. 蓝桥杯 三升序列(java)

    试题 A: 递增序列 本题总分:5 分 [问题描述] 对于一个字母矩阵,我们称矩阵中的一个递增序列是指在矩阵中找到两个 字母,它们在同一行,同一列,或者在同一 45 度的斜线上,这两个字母从左向 右看 ...

  4. 2019第十届蓝桥杯A组决赛(国赛)A题(三升序列)

    2019第十届蓝桥杯A组决赛(国赛)A题(三升序列) 输入: VLPWJVVNNZSWFGHSFRBCOIJTPYNEURPIGKQGPSXUGNELGRVZAG SDLLOVGRTWEYZKKXNK ...

  5. 蓝桥杯每日一题(22):三升序列(python)

    Topic [问题描述] 对于一个字母矩阵,我们称矩阵中的一个三升序列是指在矩阵中找到三个字母,它们在同一行,同一列,或者在同一 45 度的斜线上,这三个字母从左向右看.或者从上向下看是递增的. 例如 ...

  6. 蓝桥杯第十届国赛C++研究生组 试题 A: 三升序列

    试题 A: 三升序列 [问题描述] 对于一个字母矩阵,我们称矩阵中的一个三升序列是指在矩阵中找到三个 字母,它们在同一行,同一列,或者在同一 45 度的斜线上,这三个字母从左向 右看.或者从上向下看是 ...

  7. 三升序列(蓝桥杯真题)——python

    题目如下: 对于一个字母矩阵,我们称矩阵中的一个三升序列是指在矩阵中找到三个字母,它们在同一行,同一列,或者在同一 45 度的斜线上,这三个字母从左向右看.或者从上向下看是递增的. 例如,如下矩阵中 ...

  8. 三羊献瑞c语言编程入门,蓝桥杯-三羊献瑞,

    蓝桥杯-三羊献瑞, 更多精彩文章请关注公众号『大海的BLOG』 问题 观察下面的加法算式: 祥 瑞 生 辉 + 三 羊 献 瑞 ---------------- 三 羊 生 瑞 气 其中,相同的汉字代 ...

  9. 22.1.2是否存在三升序列

    给你一个整数数组 nums ,判断这个数组中是否存在长度为 3 的递增子序列. 如果存在这样的三元组下标 (i, j, k) 且满足 i < j < k ,使得 nums[i] < ...

最新文章

  1. 国家开放大学2021春1118机电一体化系统设计基础题目
  2. 代码注释(图案:小狗)
  3. vue watch的监听
  4. 10分钟利用django搭建一个博客
  5. centos6安装PHP5.4
  6. 【工具类】Android判断SD卡状态
  7. Newtonsoft.Json基础问题
  8. 计算机管理无法定位程序输入点,无法定位程序输入点于动态链接库修复解决方法...
  9. Oracle将监听服务注册到集群中,110 ORACLE实例配置多个监听器
  10. linux下无法删除文件夹,解决linux上无法删除文件的方法(疑难文件)
  11. 面向对象开发期末复习概述(六)
  12. 微信公众号对接网课查题系统
  13. 【爱吃肉的阿C】使用URL类将文件下载到本地
  14. C语言 剧情版小游戏
  15. iPad 上能播放局域网高清片源影音播放利器XBMC使用体会
  16. 二进制八进制相互转换
  17. 【jQuery】动效
  18. [LINQ2Dapper]最完整Dapper To Linq框架(二)---动态化查询
  19. Android本地服务器NanoHttpd配置Https双向认证
  20. 009. 我在尼泊尔看雪山

热门文章

  1. css3 background简写,background-size简写背景属性(CSS3)
  2. 服务器云平台 系统,服务器系统平台
  3. css空心三角形_纯CSS制作空心三角形和实心三角形及其实现原理
  4. Visual Studio Code 代码显示空格等空白符的方法
  5. 技术人从职场中脱颖而出的成长秘诀
  6. 富文本编辑器mavon-editor文章回显
  7. vipkid(cocos creator)
  8. 51单片机利用STC-ISP下载软件时串口打开失败怎么办?
  9. __builtin_ffs 的使用方法
  10. Delaunay 三角剖分2D(原理 + 源码)