AC 代码 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int cols = scanner.nextInt(); int rows = scanner.nextInt(); int k = scanner.nextInt(); String[] words = new String[k]; for (int i = 0; i < k; i++) { words[i] = scanner.next(); } String[][] dic = new String[rows][cols]; for (int i = 0; i < rows; i++) { for (int j = 0; j < cols; j++) { dic[i][j] = scanner.next(); } } boolean[][] visited = new boolean[rows][cols]; for (String word : words) { for (int i = 0; i < rows; i++) { for (int j = 0; j < cols; j++) { if (find(dic, i, j, word, 0, visited)) { System.out.println(word); } } } } } private static boolean find(String[][] dic, int i, int j, String word, int k, boolean[][] visited) { if (k >= word.length()) { return true; } if (i = dic.length || j = dic[0].length || visited[i][j] || !dic[i][j].equals(word.charAt(k) + "")) { return false; } visited[i][j] = true; boolean f = find(dic, i - 1, j, word, k + 1, visited) || find(dic, i + 1, j, word, k + 1, visited) || find(dic, i, j - 1, word, k + 1, visited) || find(dic, i, j + 1, word, k + 1, visited); visited[i][j] = false; return f; } }
点赞 2

相关推荐

牛客网
牛客企业服务