递增序列

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

例如,如下矩阵中

LANN

QIAO

有LN、LN、AN、AN、IO、AO、LQ、AI、NO、NO、AQ、IN、AN 等 13 个 递增序列。 注意当两个字母是从左下到右上排列时,从左向右看和从上向下看 是不同的顺序。 对于下面的 30 行 50 列的矩阵,请问总共有多少个递增序列?(如果你把 以下文字复制到文本文件中,请务必检查复制的内容是否与文档中的一致。在 试题目录下有一个文件 inc.txt,内容与下面的文本相同)

对于一个字母矩阵,我们称矩阵中的一个三升序列是指在矩阵中找到三个 字母,它们在同一行,同一列,或者在同一 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
package The_tenth;import java.util.Scanner;//import ErArr.ErArr;public class first {public static void main(String[] args) {//试题 A: 三升序列Scanner sr = new Scanner(System.in);int a = 30;int b = 50;char[][] x = new char[a][b];for (int i = 0; i < x.length; i++) {x[i] = sr.next().toCharArray();}
//        ErArr.Char(x);//遍历数组 以每一个元素作为原点触发找目标序列//这里只需要寻找5个方向的  这5个方向是从题目给的例子中得出的int[][] z = {
//                {-1, 0},//上{1, 0},//下
//                {0, -1},//左{0, 1},//右
//                {-1, -1},//左上{-1, 1},//右上{1, -1},//左下{1, 1},//右下};
//        //个数
//        int count = 0;
//        for (int i = 0; i < x.length; i++) {
//            for (int j = 0; j < x[i].length; j++) {
//                int o = x[i][j];
//                for (int e = 0; e < 8; e++) {
//                    if (i + z[e][0] >= 0 && i + z[e][0] < a && j + z[e][1] >= 0 && j + z[e][1] < b) {
//                        int p = x[i + z[e][0]][j + z[e][1]];
//                        if (o < p && i + z[e][0] * 2 >= 0 && i + z[e][0] * 2 < a && j + z[e][1] * 2 >= 0 && j + z[e][1] * 2 < b) {
//                            int l = x[i + z[e][0] * 2][j + z[e][1] * 2];
//                            if (p < l) {
//                                count++;
//                                System.out.println((char) o + "" + (char) p + "" + (char) l);
//                            }
//                        }
//                    }
//                }
//            }
//        }
//        System.out.println(count);\//第一个元素就是遍历数组// 第二个元素就是遍历第一个元素的索引 first[i+z[f][0]*1][j+z[f][1]*1] 里面的*1会逐步增长 知道他所代表的索引越界了 就停止循环//第三个元素是在第二个元素的索引上再+ 原理和第二个元素相同int count = 0;int count3 = 0;for (int i = 0; i < x.length; i++) {for (int j = 0; j < x[i].length; j++) {//第一个元素for (int f = 0; f < z.length; f++) {int first = x[i][j];//第二个元素int twoJs = 1;while (i+z[f][0]*twoJs>=0&&i+z[f][0]*twoJs<a  &&  j+z[f][1]*twoJs>=0&&j+z[f][1]*twoJs<b){int twox = i+z[f][0]*twoJs;int twoy = j+z[f][1]*twoJs;int two = x[twox][twoy];if (first < two){System.out.println(first+" "+two);System.out.println((char)first+""+(char)two);count++;//下面的是三升序列 不求第三个就是递增序列的题int threeJs = 1;while (twox+z[f][0]*threeJs>=0&&twox+z[f][0]*threeJs<a  &&  twoy+z[f][1]*threeJs>=0&&twoy+z[f][1]*threeJs<b){int threex = twox+z[f][0]*threeJs;int threey = twoy+z[f][1]*threeJs;int three = x[threex][threey];if (two<three){System.out.println(first+" "+two+" "+three);System.out.println((char)first+""+(char)two+""+(char)three);count3++;}threeJs++;}}twoJs++;}}}}System.out.println(count);//递增序列答案System.out.println(count3);//三升序列答案}
}

递增序列答案:52800

三升序列答案:180414

三升序列 和递增序列相关推荐

  1. mysql递增函数_SQL使用序列自动递增

    sql函数 的 SQL使用序列自动递增 序列是一组整数1,2,3,...,以便在需要时生成. 序列经常使用在数据库中,因为很多应用都需要在一个表中的每一行包含一个唯一的值,序列提供了一种简单的方法来生 ...

  2. 22.1.2是否存在三升序列

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

最新文章

  1. Windows客户端C/C++编程规范“建议”——函数
  2. 自己动手写cpu pdf_自己动手写 Promise
  3. vSAN读者交流之1-要为不同时间的服务器选择合适的系统版本
  4. python使用教程cmd啥意思-Python 中的cmd模块学习
  5. 北航研究生计算机学院,北航计算机学院考研经验
  6. Linux awk命令详解??????????(研究)
  7. tgp饥荒服务器mod文件在哪,饥荒联机版中客户端mod文件夹在哪?注意不是服务器mod!...
  8. 前端学习(3293):effect hook
  9. excel条形码字体_在Excel中批量生成条形码,竟如此简单!
  10. sort和qsort函数
  11. Leetcode--210.课程表Ⅱ
  12. Spring学习总结(12)——Druid连接池及监控在spring配置
  13. EJB JBOSS的安装
  14. pandas.to_numeric
  15. WPE下载 WPE 各版本下载 及 教程
  16. 「管理数学基础」1.4 矩阵理论:相似矩阵
  17. ppt太大怎么压缩变小?ppt压缩方法和步骤
  18. 最小生成树的第三种求法-Borůvka (Sollin) 算法
  19. java 调用felix_java – 使用SSH的Apache Felix shell
  20. 记一次Android第三方日历控件CalendarView的使用

热门文章

  1. 不情愿的守门人:关于全栈开发者的迷思
  2. 工序作业指导书怎么做?如何制作工序作业指导书?
  3. uniapp ->video 黑屏 无时长(新手容易遇到的坑)
  4. 批量关闭公众号推送_微信发大招,长期不读的公众号可“批量关闭”!
  5. js与数组有关的函数:splice(),concat(),slice(),unshift()
  6. 微信大会有哪些看点?
  7. 历程篇 之 我的 2019 (历时一年,只为记录美好生活~)
  8. powerpoint html文件类型,PowerPoint 2016无法打开此种文件类型怎么办-PPT打不开文件解决办法...
  9. 中秋节到了,为什么你不回家?
  10. spark on k8s:apache YuniKorn(Incubating)的助力