输入:
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
方法一
public class ExaminationA {
public static void main(String[] args) {
int line = 30,column = 50;
File file = new File("BlueBridgeCup/src/NO10_nation/inc.txt");
char[][] chars = new char[line][column];
try {
BufferedReader bufferedReader = new BufferedReader(new FileReader(file));
int count= 0;
while (bufferedReader.ready()){
String s = bufferedReader.readLine();
char[] charArray = s.toCharArray();
for (int i = 0; i < column; i++) {
chars[count][i] = charArray[i];
}
count++;
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
int ans = 0;
for (int i = 0; i < line; i++) {
for (int j = 0; j < column; j++) {
//横行
for (int k = j+1; k < column; k++) {
for (int l = k+1; l < column; l++) {
if (chars[i][j]<chars[i][k] && chars[i][k]<chars[i][l]) {
ans++;
}
}
}
//纵向
for (int k = i+1; k < line; k++) {
for (int l = k+1; l < line; l++) {
if (chars[i][j]<chars[k][j] && chars[k][j]<chars[l][j]) {
ans++;
}
}
}
//左上到右下
for (int k = i+1,l = j+1; k <line && l < column; k++,l++) {//(k,l)
for (int m = k+1,n=l+1; m < line && n < column; m++,n++) {//(m,n)
if (chars[i][j] < chars[k][l] && chars[k][l] < chars[m][n]) {
ans++;
}
}
}
//右上到左下
for (int k = i+1,l=j-1; k < line && l>= 0; k++,l--) {//(k,l)
for (int m = k+1,n=l-1; m < line && n >= 0; m++,n--) {//(m,n)
if (chars[i][j]<chars[k][l] && chars[k][l] < chars[m][n]) {
ans++;
}
if (chars[i][j]>chars[k][l] && chars[k][l] > chars[m][n]) {
ans++;
}
}
}
}
}
System.out.println(ans);
}
}
方法二
import java.util.Scanner;
public class ExaminationA2 {
static char[][] chs = new char[30][50];
static int[][] dir = { { 0, 1 }, { 1, 0 }, { 1, 1 }, { 1, -1 }, { -1, 1 } };
static int cnt = 0;
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
for (int i = 0; i < 30; i++) {
String str = scan.next();
for (int j = 0; j < 50; j++) {
chs[i][j] = str.charAt(j);
}
}
int ia, ib, iaa, ibb;
for (int i = 0; i < 30; i++) {
for (int j = 0; j < 50; j++) {
for (int k = 0; k < 5; k++) {
ia = i;
ib = j;
while (true) {
ia += dir[k][0];
ib += dir[k][1];
iaa = ia;
ibb = ib;
if (ia < 0 || ib < 0 || ia >= 30 || ib >= 50) {
break;
}
while (true) {
iaa += dir[k][0];
ibb += dir[k][1];
if (iaa < 0 || ibb < 0 || iaa >= 30 || ibb >= 50) {
break;
}
if (chs[i][j] < chs[ia][ib] && chs[ia][ib] < chs[iaa][ibb]) {
cnt++;
}
}
}
}
}
}
System.out.println(cnt);
// 在此输入您的代码...
scan.close();
}
}