SHARE
TWEET

Untitled

a guest Oct 23rd, 2019 102 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.  
  2. import java.util.Scanner;
  3.  
  4. public class HelensAbduction2 {
  5.     public static void main(String[] args) {
  6.         Scanner scanner = new Scanner(System.in);
  7.  
  8.         int energy = Integer.parseInt(scanner.nextLine());
  9.  
  10.         int size = Integer.parseInt(scanner.nextLine());
  11.  
  12.         char[][] matrix = new char[size][];
  13.         for (int r = 0; r < matrix.length; r++) {
  14.             matrix[r] = scanner.nextLine().toCharArray();
  15.         }
  16.  
  17.         int[] indexes = findIndexes(matrix);
  18.         int parisRow = indexes[0];
  19.         int parisCol = indexes[1];
  20.  
  21.         matrix[parisRow][parisCol] = '-';
  22.  
  23.         while (true) {
  24.             String[] tokens = scanner.nextLine().split("\\s+");
  25.             String command = tokens[0];
  26.             int spawnRow = Integer.parseInt(tokens[1]);
  27.             int spawnCol = Integer.parseInt(tokens[2]);
  28.  
  29.             matrix[spawnRow][spawnCol] = 'S';
  30.  
  31.             energy--;
  32.  
  33.             switch (command) {
  34.                 case "up":
  35.                     if (parisRow - 1 >= 0) {
  36.                         parisRow--;
  37.                     }
  38.                     break;
  39.                 case "down":
  40.                     if (parisRow + 1 < matrix.length) {
  41.                         parisRow++;
  42.                     }
  43.                     break;
  44.                 case "left":
  45.                     if (parisCol - 1 >= 0) {
  46.                         parisCol--;
  47.                     }
  48.                     break;
  49.                 case "right":
  50.                     if (parisCol + 1 < matrix.length) {
  51.                         parisCol++;
  52.                     }
  53.                     break;
  54.             }
  55.  
  56.             if (matrix[parisRow][parisCol] == 'H') {
  57.                 matrix[parisRow][parisCol] = '-';
  58.                 System.out.println("Paris has successfully abducted Helen! Energy left: " + energy);
  59.                 break;
  60.             }
  61.             if (energy <= 0) {
  62.                 matrix[parisRow][parisCol] = 'X';
  63.                 System.out.println(String.format("Paris died at %d;%d.", parisRow, parisCol));
  64.                 break;
  65.             }
  66.             if (matrix[parisRow][parisCol] == 'S') {
  67.                 if (energy - 2 > 0) {
  68.                     energy -= 2;
  69.                     matrix[parisRow][parisCol] = '-';
  70.                 } else {
  71.                     matrix[parisRow][parisCol] = 'X';
  72.                     System.out.println(String.format("Paris died at %d;%d.", parisRow, parisCol));
  73.                     break;
  74.                 }
  75.             }
  76.         }
  77.  
  78.         printMatrix(matrix);
  79.     }
  80.  
  81.     private static int[] findIndexes(char[][] matrix) {
  82.         int[] indexes = new int[2];
  83.  
  84.         for (int r = 0; r < matrix.length; r++) {
  85.             for (int c = 0; c < matrix[r].length; c++) {
  86.                 if (matrix[r][c] == 'P') {
  87.                     indexes[0] = r;
  88.                     indexes[1] = c;
  89.                 }
  90.             }
  91.         }
  92.         return indexes;
  93.     }
  94.  
  95.     private static void printMatrix(char[][] matrix) {
  96.         for (int r = 0; r < matrix.length; r++) {
  97.             for (int c = 0; c < matrix[r].length; c++) {
  98.                 System.out.print(matrix[r][c]);
  99.             }
  100.             System.out.println();
  101.         }
  102.     }
  103. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
Not a member of Pastebin yet?
Sign Up, it unlocks many cool features!
 
Top