L


私信TA

用户名:1302759659

访问量:2502

签 名:

等  级
排  名 910
经  验 3506
参赛次数 0
文章发表 13
年  龄 17
在职情况 学生
学  校 广西英华国际职业学院
专  业 软件技术

  自我简介:

解题思路:

参考代码:
import java.util.Scanner;

public class Main {
   static int arr[][];
   static int row;
   static int col;
   static char dir;
   public static void main(String[] args) {
       Scanner sc = new Scanner(System.in);
       int m = sc.nextInt();  //方格的行数
       int n = sc.nextInt();   //方格的列数
       arr = new int[m][n];   
       for (int i = 0; i < m; i++) {
           for (int j = 0; j < n; j++) {
               arr[i][j] = sc.nextInt();
           }
       }
       row = sc.nextInt();       //蚂蚁所在的行号
       col = sc.nextInt();       //蚂蚁所在的列号
       dir = sc.next().charAt(0);  //蚂蚁方向
       int k = sc.nextInt();
       //k蚂蚁的步数循环蚂蚁的步数
       for (int i = 1; i <=k; i++) {
           move();
       }
       System.out.println(row + " " + col);
   }
   public static void move()
   {
       //若蚂蚁在黑格,右转90度,将该格改为白格
       if (arr[row][col] == 1) {
           if (dir == 'U') dir = 'R';
           else if (dir == 'R') dir = 'D';
           else if (dir == 'D') dir = 'L';
           else if (dir == 'L') dir = 'U';
           arr[row][col] = 0;
       }
       //若蚂蚁在白格,左转90度,将该格改为黑格
       else if (arr[row][col] == 0)
       {
           if (dir == 'U') dir = 'L';
           else if (dir == 'L') dir = 'D';
           else if (dir == 'D') dir = 'R';
           else if (dir == 'R') dir = 'U';
           arr[row][col]=1;
       }
       //移动一格
       if (dir == 'U') row--;
       else if (dir == 'R') col++;
       else if (dir == 'D') row++;
       else if (dir == 'L') col--;

   }

}


 

0.0分

1 人评分

  评论区

  • «
  • »