阿里春招笔试3/10

用dfs做了一下,感觉很麻烦,尤其是边界的条件也不优雅
给出无情for循环的解法
这就很容易了😂
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
        String[] temp = bf.readLine().split(" ");
        int m = Integer.parseInt(temp[0]);
        int n = Integer.parseInt(temp[1]);
        int k = Integer.parseInt(temp[2]);
        char[][] arr = new char[m][n];
        for (int i = 0; i < m; i++) {
            String str = bf.readLine();
            for (int j = 0; j < n; j++) {
                arr[i][j] = str.charAt(j);
            }
        }
        String[] dir = new String[k];
        for (int i = 0; i < k; i++) {
            dir[i] = bf.readLine();
        }
        int start_x=0, start_y=0;
        for (int i = 0; i < m; i++) {
            for (int j = 0; j < n; j++) {
                if (arr[i][j] == '@') {
                    start_x = i;
                    start_y = j;
                    break;
                }
            }
        }
        for(int i=0;i<k;i++){
            //System.out.println(dir[i]+" "+start_x+start_y);
            if(dir[i].equals("EAST")){
                while(start_y+1<n&&arr[start_x][start_y+1]!='#')start_y++;
            }
            else if(dir[i].equals("SOUTH")){
                while(start_x+1<m&&arr[start_x+1][start_y]!='#')start_x++;
            }
            else if(dir[i].equals("WEST")){
                while(start_y-1>=0&&arr[start_x][start_y-1]!='#')start_y--;
            }
            else if(dir[i].equals("NORTH")){
                while(start_x-1>=0&&arr[start_x-1][start_y]!='#')start_x--;
            }
        }
        System.out.println((start_x+1)+" "+(start_y+1));
    }


}


#阿里2020春招阿里2021实习##笔试题目##阿里巴巴#
全部评论
老哥您好呀,请问下阿里实习笔试研发岗选择题都考啥呀?也是概率推导那些吗
点赞 回复 分享
发布于 2022-04-08 10:44
分别对应于lc哪些题啊?谢谢楼主!
点赞 回复 分享
发布于 2021-03-12 16:20
请问笔试系统可以选择编程语言吗 投java后端想用c++答题😅
点赞 回复 分享
发布于 2021-03-10 17:35
我感觉做题还是具体问题具体分析,这道题用dfs会大大增大难度,实际上差不多就是道中等偏下的题目🤐
点赞 回复 分享
发布于 2021-03-10 13:27

相关推荐

10-29 18:20
济南大学 Java
用微笑面对困难:他不是人事吗,怎么净特么不干人事
点赞 评论 收藏
分享
评论
2
2
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务