Java 大学C组 第十届蓝桥杯 2019年国赛真题

蓝桥杯 2019年国赛真题(Java 大学 C 组 )
给大专生出流问题,真牛啊
#A 奇数倍数
本题总分:5 分
问题描述
请你找到最小的整数 X 同时满足:
X 是 2019 的整倍数
X 的每一位数字都是奇数
答案提交
这是一道结果填空的题,你只需要算出结果后提交即可 。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分 。

public class Test {public static void main(String[] args) {agent: for (int i = 2019, n = 2019; true; n = i += 2019) {do if ((n & 1) == 0) continue agent;while ((n /= 10) > 0);System.out.println(i);break;}}}
#B 递增序列
本题总分:5 分
问题描述
对于一个字母矩阵,我们称矩阵中的一个递增序列是指在矩阵中找到两个字母,它们在同一行,同一列,或者在同一 45 度的斜线上,这两个字母从左向右看、或者从上向下看是递增的 。
例如,如下矩阵中
LANN
QIAO
有LN、LN、AN、AN、IO、AO、LQ、AI、NO、NO、AQ、IN、AN 等 13 个递增序列 。注意当两个字母是从左下到右上排列时,从左向右看和从上向下看是不同的顺序 。
对于下面的 30 行 50 列的矩阵,请问总共有多少个递增序列?(如果你把以下文字复制到文本文件中,请务必检查复制的内容是否与文档中的一致 。在试题目录下有一个文件 inc.txt,内容与下面的文本相同)
VLPWJVVNNZSWFGHSFRBCOIJTPYNEURPIGKQGPSXUGNELGRVZAGSDLLOVGRTWEYZKKXNKIRWGZWXWRHKXFASATDWZAPZRNHTNNGQFZGUGXVQDQAEAHOQEADMWWXFBXECKAVIGPTKTTQFWSWPKRPSMGABDGMGYHAOPPRRHKYZCMFZEDELCALTBSWNTAODXYVHQNDASUFRLYVYWQZUTEPFSFXLTZBMBQETXGXFUEBHGMJKBPNIHMYOELYZIKHZYZHSLTCGNANNXTUJGBYKUOJMGOGRDPKEUGVHNZJZHDUNRERBUXFPTZKTPVQPJEMBHNTUBSMIYEGXNWQSBZMHMDRZZMJPZQTCWLRZNXOKBITTPSHEXWHZXFLWEMPZTBVNKNYSHCIQRIKQHFRAYWOPGMHJKFYYBQSDPOVJICWWGGCOZSBGLSOXOFDAADZYEOBKDDTMQPAVIDPIGELBYMEVQLASLQRUKMXSEWGHRSFVXOMHSJWWXHIBCGVIFGWRFRFLHAMYWYZOIQODBIHHRIIMWJWJGYPFAHZZWJKRGOISUJCEKQKKPNEYCBWOQHTYFHHQZRLFNDOVXTWASSQWXKBIVTKTUIASKPEKNJFIVBKOZUEPPHIWLUBFUDWPIDRJKAZVJKPBRHCRMGNMFWWCGZAXHXPDELTACGUWBXWNNZNDQYYCIQRJCULIEBQBLLMJEUSZPRWHHQMBIJWTQPUFNAESPZHAQARNIDUCRYQAZMNVRVZUJOZUDGSPFGAYBDEECHUXFUZIKAXYDFWJNSAOPJYWUIEJSCORRBVQHCHMRJNVIPVEMQSHCCAXMWEFSYIGFPIXNIDXOTXTNBCHSHUZGKXFECLYZBAIIOTWLREPZISBGJLQDALKZUKEQMKLDIPXJEPENEIPWFDLPHBQKWJFLSEXVILKYPNSWUZLDCRTAYUUPEITQJEITZRQMMAQNLNDQDJGOWMBFKAIGWEAJOISPFPLULIWVVALLIIHBGEZLGRHRCKGFLXYPCVPNUKSWCCGXEYTEBAWRLWDWNHHNNNWQNIIBUCGUJYMRYWCZDKISKUSBPFHVGSAVJBDMNPSDKFRXVVPLVAQUGVUJEXSZFGFQIYIJGISUANRAXTGQLAVFMQTICKQAHLEBGHAVOVVPEXIMLFWIYIZIIFSOPCMAWCBPKWZBUQPQLGSNIBFADUUJJHPAIUVVNWNWKDZBHGTEEIISFGIUEUOWXVTPJDVACYQYFQUCXOXOSSMXLZDQESHXKPFEBZHJAGIFGXSMRDKGONGELOALLSYDVILRWAPXXBPOOSWZNEASVJGMAOFLGYIFLJTEKDNIWHJAABCASFMAKIENSYIZZSLRSUIPCJBMQGMPDRCPGWKTPLOTAINXZAAJWCPUJHPOUYWNWHZAKCDMZDSRRRARTVHZYYCEDXJQNQAINQVDJCZCZLCQWQQIKUYMYMOVMNCBVYABTCRRUXVGYLZILFLOFYVWFFBZNFWDZOADRDCLIRFKBFBHMAXX
答案提交
这是一道结果填空的题,你只需要算出结果后提交即可 。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分 。
52800

import java.io.*;public class Test {public static void main(String[] args) throws IOException {BufferedReader in = new BufferedReader(new InputStreamReader(new FileInputStream("inc.txt")));char[][] map = new char[30][];for (int i = 0; i < 30; i++)map[i] = in.readLine().toCharArray();int cnt = 0;int[] offsetN = { 0, 0, -1, 1, -1, -1, 1, 1 };int[] offsetM = { -1, 1, 0, 0, -1, 1, 1, -1 };for (int k = 0; k < 30; k++) {for (int g = 0; g < 50; g++) {char start = map[k][g];for (int z = 0; z < 8; z++) {for (int i = k + offsetN[z], j = g + offsetM[z]; i >= 0 && i < 30 && j >= 0 && j < 50; i += offsetN[z], j += offsetM[z])if (map[i][j] > start && (k