2019-/National_C_C++_A/试题 A:三升序列

【问题描述】
对于一个字母矩阵,我们称矩阵中的一个三升序列是指在矩阵中找到三个字母,它们在同一行,同一列,或者在同一 45 度的斜线上,这三个字母从左向右看、或者从上向下看是递增的。例如,如下矩阵中
YQPD
BKEZ
AFYV有BKZ、BEZ、AFY、AFV、AKP、DEF 等 6 个三升序列。注意当三个字母是从左下到右上排列时,从左向右看和从上向下看是不同的顺序。对于下面的 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【答案提交】
这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。

解题思路:
本来想创建一个文件把内容一行一行写入,然后再打开文件,将文件中的内容存入到列表中,然后利用字典将列表中的字母替换成数字,但是…报错啦:unhashable type: ‘list’,然后就人傻了…就有点没头绪了,对不起了峰哥,我要对你的代码下手了

代码:

with open('LQB.txt', mode='wt', encoding='utf-8') as f:f.write('VLPWJVVNNZSWFGHSFRBCOIJTPYNEURPIGKQGPSXUGNELGRVZAG\n')f.write('SDLLOVGRTWEYZKKXNKIRWGZWXWRHKXFASATDWZAPZRNHTNNGQF\n')f.write('ZGUGXVQDQAEAHOQEADMWWXFBXECKAVIGPTKTTQFWSWPKRPSMGA\n')f.write('BDGMGYHAOPPRRHKYZCMFZEDELCALTBSWNTAODXYVHQNDASUFRL\n')f.write('YVYWQZUTEPFSFXLTZBMBQETXGXFUEBHGMJKBPNIHMYOELYZIKH\n')f.write('ZYZHSLTCGNANNXTUJGBYKUOJMGOGRDPKEUGVHNZJZHDUNRERBU\n')f.write('XFPTZKTPVQPJEMBHNTUBSMIYEGXNWQSBZMHMDRZZMJPZQTCWLR\n')f.write('ZNXOKBITTPSHEXWHZXFLWEMPZTBVNKNYSHCIQRIKQHFRAYWOPG\n')f.write('MHJKFYYBQSDPOVJICWWGGCOZSBGLSOXOFDAADZYEOBKDDTMQPA\n')f.write('VIDPIGELBYMEVQLASLQRUKMXSEWGHRSFVXOMHSJWWXHIBCGVIF\n')f.write('GWRFRFLHAMYWYZOIQODBIHHRIIMWJWJGYPFAHZZWJKRGOISUJC\n')f.write('EKQKKPNEYCBWOQHTYFHHQZRLFNDOVXTWASSQWXKBIVTKTUIASK\n')f.write('PEKNJFIVBKOZUEPPHIWLUBFUDWPIDRJKAZVJKPBRHCRMGNMFWW\n')f.write('CGZAXHXPDELTACGUWBXWNNZNDQYYCIQRJCULIEBQBLLMJEUSZP\n')f.write('RWHHQMBIJWTQPUFNAESPZHAQARNIDUCRYQAZMNVRVZUJOZUDGS\n')f.write('PFGAYBDEECHUXFUZIKAXYDFWJNSAOPJYWUIEJSCORRBVQHCHMR\n')f.write('JNVIPVEMQSHCCAXMWEFSYIGFPIXNIDXOTXTNBCHSHUZGKXFECL\n')f.write('YZBAIIOTWLREPZISBGJLQDALKZUKEQMKLDIPXJEPENEIPWFDLP\n')f.write('HBQKWJFLSEXVILKYPNSWUZLDCRTAYUUPEITQJEITZRQMMAQNLN\n')f.write('DQDJGOWMBFKAIGWEAJOISPFPLULIWVVALLIIHBGEZLGRHRCKGF\n')f.write('LXYPCVPNUKSWCCGXEYTEBAWRLWDWNHHNNNWQNIIBUCGUJYMRYW\n')f.write('CZDKISKUSBPFHVGSAVJBDMNPSDKFRXVVPLVAQUGVUJEXSZFGFQ\n')f.write('IYIJGISUANRAXTGQLAVFMQTICKQAHLEBGHAVOVVPEXIMLFWIYI\n')f.write('ZIIFSOPCMAWCBPKWZBUQPQLGSNIBFADUUJJHPAIUVVNWNWKDZB\n')f.write('HGTEEIISFGIUEUOWXVTPJDVACYQYFQUCXOXOSSMXLZDQESHXKP\n')f.write('FEBZHJAGIFGXSMRDKGONGELOALLSYDVILRWAPXXBPOOSWZNEAS\n')f.write('VJGMAOFLGYIFLJTEKDNIWHJAABCASFMAKIENSYIZZSLRSUIPCJ\n')f.write('BMQGMPDRCPGWKTPLOTAINXZAAJWCPUJHPOUYWNWHZAKCDMZDSR\n')f.write('RRARTVHZYYCEDXJQNQAINQVDJCZCZLCQWQQIKUYMYMOVMNCBVY\n')f.write('ABTCRRUXVGYLZILFLOFYVWFFBZNFWDZOADRDCLIRFKBFBHMAXX\n')content = []
with open('LQB.txt') as fp:for line in fp.readlines():content.append(list(line.strip()))ans, dirs = 0, [(-1, 1), (0, 1), (1, 1), (1, 0), (1, -1)]  # 右上,右,右下,下,左下5个方向
for i in range(len(content)):for j in range(len(content[i])):  # 多有的点依次迭代for dx, dy in dirs:  # 从第一个方向开始判断的循环x1, y1 = i, j  # 设置第二个点的坐标while True:  # 依次循环,直至达到边界x1 += dxy1 += dyx2, y2 = x1, y1if x1 < 0 or y1 < 0 or x1 >= len(content) or y1 >= len(content[x1]):breakwhile True:  # 在第一层的循环下,再进行一次循环,依次判断第三个点x2 += dxy2 += dyif x2 < 0 or y2 < 0 or x2 >= len(content) or y2 >= len(content[x2]):break# 符合条件的点if content[i][j] < content[x1][y1] < content[x2][y2]:ans += 1
print(ans)

运行结果:

LQBv23-Python:三升序列相关推荐

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

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

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

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

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

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

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

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

  5. 22.1.2是否存在三升序列

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

  6. C/C++蓝桥杯三升序列

    本题答案可能是错的,我算出的是180414,和很多博主的答案不一样,我也不太懂哪里有问题,大家可以探讨一下 题目描述 对于一个字母矩阵,我们称矩阵中的一个三升序列是指在矩阵中找到三个字母,它们在同一行 ...

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

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

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

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

  9. 三升序列 和递增序列

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

  10. 2019\National _C_C++_A\试题 A: 三升序列

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

最新文章

  1. 求教关于NFS服务器的防火墙的设置
  2. 无聊软件-GIT屏幕录制工具_已迁移
  3. 白盒测试实践作业任务分配
  4. Linux设备驱动--块设备(三)之程序设计(转)
  5. 请求筛选模块被配置为拒绝包含 hiddenSegment 节的 URL 中的路径
  6. 控件与布局(WPF)
  7. Longest Common Substring
  8. 我和面试官之间关于操作系统的一场对弈 | 原力计划
  9. 2021年面试前端岗位需要注意什么?
  10. 能在ARC下跑的ASIHTTPRequest框架(以及升了5.0,用了ARC后N多开源框架不能用的解决方案) .
  11. python能做什么工作-python能做哪方面的工作
  12. 移动互联网时代的创业生存法则:快速试错,廉价失败
  13. 五分钟看懂plc梯形图程序
  14. 【python】pandas的excel处理:员工薪水分析
  15. 中国第一个 Apache 顶级开源项目的突围之路!
  16. 计算机怎么弄64位,64位系统怎么装?安装64位系统教程
  17. 深度学习中的tf.nn.softmax(logits, axis=1)以及tf.argmax(prob, axis=1)两个函数的参数以及用法
  18. 数据可视化路上——中国地图可视化
  19. GameFramework篇:StarForce资源热更新讲解(二:具体操作步骤)
  20. 某同步总线的时钟频率为100MHz,宽度为32位,地址/数据线复用,每传输一个地址或者数据就占用一个时钟周期。该总线支持猝发传输方式,则一次“主存写”总线事务传输128位数据所需的时间至少是

热门文章

  1. EXCEL作曲线图,如何转成高质量的图片
  2. 作业1:C#使用委托实现信用卡用户定时还款功能
  3. python数据清洗--对双十一淘宝直播流量数据进行数据真实性验证
  4. VBA-Excel中单元格的引用方法
  5. 【HCIP】BGP实验(联邦,路由反射器,手工汇总)
  6. ppt打不开服务器文件,ppt都打不开,没法活了!文件打不开的原因以及解决方法...
  7. 活动报名 | 清华大学交叉信息研究院高阳:视觉机器人学习
  8. 微信小程序,画布中,根据需要展示的图片比例,获取能截取原图中的最大图片尺寸,并且不变形展示
  9. vmware安装ubuntu Intel VT-x 处于禁用状态
  10. 【华为OD机试 2023】完美走位(C++ Java JavaScript Python 100%)