王子与公主是不是dfs会超,求一个java题解,很奇怪为啥我这种解法不对,代码附上,求个大佬之处错误, import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int t = sc.nextInt(); for(int i=0;i<t;i++){ int n= sc.nextInt(); int m= sc.nextInt(); sc.nextLine(); char[][] matrix = new char[n][m]; for(int j=0;j<n;j++){ matrix[j] = sc.nextLine().toCharArray(); } for(int j=0;j<n;j++){ for(int k=0;k<m;k++){ if(matrix[j][k]=='S'){ if(dfs(j,k,matrix)) System.out.println("YES"); else System.out.println("NO"); } } } } } public static boolean dfs(int j,int k,char[][] matrix){ if(j<0||j>=matrix.length||k<0||k>=matrix[0].length||matrix[j][k]=='#'){ return false; } if(matrix[j][k]=='E') return true; return dfs(j-1,k,matrix)||dfs(j+1,k,matrix)||dfs(j,k-1,matrix)||dfs(j,k+1,matrix); } }
点赞 4

相关推荐

今天 11:08
已编辑
上海大学 Java
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务