[Offer收割]编程练习赛21 register

Ended

Participants:295

Verdict:Accepted
Score:100 / 100
Submitted:2017-08-06 14:18:23

Lang:Java

Edit
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
import java.util.*;
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int N=in.nextInt();
        int M=in.nextInt();
        int[][] walls=new int[N*2+1][M*2+1];
        in.nextLine();
        int[] pos={1,1};
        int[][] left={{0,1},{1,0},{0,-1},{-1,0}};
        int[][] front={{1,0},{0,-1},{-1,0},{0,1}};
        int status=0;
        int i=0;
        while(i<2*N*M-1){
            String line=in.nextLine();
            if(line.charAt(0)=='1')walls[pos[0]+left[status][0]][pos[1]+left[status][1]]=1;
            if(line.charAt(2)=='1')walls[pos[0]+front[status][0]][pos[1]+front[status][1]]=1;
            if(line.charAt(4)=='1')walls[pos[0]-left[status][0]][pos[1]-left[status][1]]=1;
            char d=line.charAt(6);
            if(d=='d'){
                pos[0]+=2;
                status=0;
            }
            if(d=='l'){
                pos[1]-=2;
                status=1;
            }
            if(d=='u'){
                pos[0]-=2;
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX