Advertisement
Guest User

Untitled

a guest
Nov 20th, 2019
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.24 KB | None | 0 0
  1. package com.scalefocus;
  2.  
  3. import java.util.Arrays;
  4. import java.util.Scanner;
  5. import java.util.stream.Stream;
  6.  
  7. public class Main {
  8.  
  9. public static void main(String[] args) {
  10. Scanner sc = new Scanner(System.in);
  11. int fieldSize = Integer.parseInt(sc.nextLine());
  12. int[] initialField = new int[fieldSize];
  13. String command = "";
  14. int[] initialFieldIndex = Arrays.stream(sc.nextLine()
  15. .split(" "))
  16. .mapToInt(e -> Integer.parseInt(e))
  17. .toArray();
  18. for (int i = 0; i < initialFieldIndex.length; i++) {
  19. if (initialFieldIndex[i] >=0 && initialFieldIndex[i]<initialField.length){
  20. initialField[initialFieldIndex[i]] = 1;
  21. }
  22. }
  23.  
  24.  
  25.  
  26. while (true) {
  27. command = sc.nextLine();
  28. if (command.equals("end")) {
  29. break;
  30. } else {
  31. String[] commands = command.split(" ");
  32. int indexOfLadybug = Integer.parseInt(commands[0]);
  33. String direction = commands [1];
  34. int factorOfDirection = 0;
  35. switch (direction) {
  36. case "right" : factorOfDirection = 1; break;
  37. case "left" : factorOfDirection = -1; break;
  38. }
  39. int flyLength = Integer.parseInt(commands[2]);
  40. if (indexOfLadybug >= 0 && indexOfLadybug < fieldSize && initialField[indexOfLadybug] !=0) {
  41. int flightRange = factorOfDirection * flyLength;
  42. while (indexOfLadybug + flightRange >= 0 && indexOfLadybug + flightRange < fieldSize) {
  43.  
  44. if (initialField[indexOfLadybug + flightRange] == 0) {
  45. initialField[indexOfLadybug] = 0;
  46. initialField[indexOfLadybug + flightRange] = 1;
  47. break;
  48. } else {
  49. flightRange += flightRange;
  50.  
  51. }
  52.  
  53. } initialField[indexOfLadybug] = 0;
  54. }
  55.  
  56.  
  57.  
  58. }
  59. }
  60. for (int value : initialField) {
  61. System.out.print(value + " ");
  62. }
  63.  
  64. }
  65. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement