题目
思路
分别向两个方向深搜
代码
package 力扣测试;
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
int ans = 0;
char[][] chs = new char[30][50];
int[][] changedir = { { 0, 1 }, { 1, 0 }, { 1, 1 }, { 1, -1 }, { -1, 1 } };
Scanner scan = new Scanner(System.in);
for (int i = 0; i < 30; i++) {
String temp = scan.next();
for (int j = 0; j < 50; j++) {
chs[i][j] = temp.charAt(j);
}
}
int a, b, aa, bb;
for (int i = 0; i < 30; i++) {
for (int j = 0; j < 50; j++) {
for (int k = 0; k < 5; k++) {
a = i;
b = j;
while (true) {
a += changedir[k][0];
b += changedir[k][1];
aa = a;
bb = b;
if (a < 0 || b < 0 || a >= 30 || b >= 50) {
break;
}
while (true) {
aa += changedir[k][0];
bb += changedir[k][1];
if (aa < 0 || bb < 0 || aa >= 30 || bb >= 50) {
break;
}
if (chs[i][j] < chs[a][b] && chs[a][b] < chs[aa][bb]) {
ans++;
}
}
}
}
}
}
System.out.println(ans);
}
}