仔细寻找,会发现:在下面的8x8的方阵中,隐藏着字母序列:“LANQIAO”。
SLANQIAO
ZOEXCCGB
MOAYWKHI
BCCIPLJQ
SLANQIAO
RSFWFNYA
XIFZVWAL
COAIQNAL
我们约定: 序列可以水平,垂直,或者是斜向;
并且走向不限(实际上就是有一共8种方向)。
上图中一共有4个满足要求的串。
下面有一个更大的(100x100)的字母方阵。
你能算出其中隐藏了多少个“LANQIAO”吗?
思路:定义行和列,也就是八个方向的坐标。题目求的100x100的阵列,再给一个char类型的数组存放LANQIAO,定义一个方法,依次循环八个方向,就可。
下面代码只能测试100x100的字母矩阵,如果要8x8的,你只要修改N对应的100改为8,即可,记住是所有N!!
import java.util.Scanner;
public class Main {
static int[] dx = {
1, 1, 0, -1, -1, -1, 0, 1 }; // 记录八个方向行坐标
static int[] dy = {
0, 1, 1, 1, 0, -1, -1, -1 }; // 记录八个方向列坐标
static char[] LQ = {
'L', 'A', 'N', 'Q', 'I', 'A', 'O' }; // 蓝桥的数组
static int N = 100; // 阵列数
static char[][] arr = new char