Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.Scanner;
- public class p03_FireTheArrows {
- public static void main(String[] args) {
- Scanner input = new Scanner (System.in);
- int n = Integer.parseInt(input.nextLine());
- char[][] matrix = new char[n][];
- boolean hasMoved;
- for (int i = 0; i < n; i++) {
- matrix[i] = input.nextLine().toCharArray();
- }
- do {
- hasMoved = false;
- for (int row = 0; row < matrix.length; row++) {
- for (int col = 0; col < matrix[row].length; col++) {
- switch (matrix[row][col]) {
- case '>':
- if (col + 1 > matrix[row].length - 1){
- break;
- }
- if (matrix[row][col + 1] == 'o'){
- matrix[row][col + 1] = '>';
- matrix[row][col] = 'o';
- hasMoved = true;
- }
- break;
- case '<':
- if (col - 1 < 0){
- break;
- }
- if (matrix[row][col - 1] == 'o'){
- matrix[row][col - 1] = '<';
- matrix[row][col] = 'o';
- hasMoved = true;
- }
- break;
- case '^':
- if (row - 1 < 0){
- break;
- }
- if (matrix[row - 1][col] == 'o'){
- matrix[row - 1][col] = '^';
- matrix[row][col] = 'o';
- hasMoved = true;
- }
- break;
- case 'v':
- if (row + 1 > matrix.length - 1){
- break;
- }
- if (matrix[row + 1][col] == 'o'){
- matrix[row + 1][col] = 'v';
- matrix[row][col] = 'o';
- hasMoved = true;
- }
- break;
- }
- }
- }
- } while (hasMoved == true);
- for (int i = 0; i < matrix.length; i++) {
- for (int j = 0; j < matrix[i].length; j++) {
- System.out.print(matrix[i][j]);
- }
- System.out.println();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment