Advertisement
saurav_kalsoor

Robot - KOTLIN

Jul 19th, 2022
1,275
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // Author : Saurav Kalsoor
  2. // Robot - KOTLIN
  3.  
  4. import java.util.*
  5.  
  6. var sc: Scanner = Scanner(System.`in`)
  7.  
  8. fun main() {
  9.     val n: Int = sc.nextInt()
  10.     val x: Int = sc.nextInt()
  11.     val y: Int = sc.nextInt()
  12.     val arr = ArrayList<Int>()
  13.     for (i in 0 until n) {
  14.         arr.add(sc.nextInt())
  15.     }
  16.     robot(arr, x, y)
  17. }
  18.  
  19. fun robot(moves: ArrayList<Int>, x: Int, y: Int) {
  20.     val set = HashSet<String>()
  21.     set.add("0 0")
  22.     var x_dir = 0
  23.     var y_dir = 0
  24.     var x_val = 0
  25.     var y_val = 0
  26.     var i = 0
  27.     while (i < moves.size) {
  28.         when (moves[i]) {
  29.             0 -> {
  30.                 x_dir = 0
  31.                 y_dir = 1
  32.             }
  33.             2 -> {
  34.                 x_dir = 0
  35.                 y_dir = -1
  36.             }
  37.             1 -> {
  38.                 x_dir = 1
  39.                 y_dir = 0
  40.             }
  41.             3 -> {
  42.                 x_dir = -1
  43.                 y_dir = 0
  44.             }
  45.         }
  46.         x_val += x_dir
  47.         y_val += y_dir
  48.         if (set.contains("$x_val $y_val")) {
  49.             i--
  50.         } else {
  51.             set.add("$x_val $y_val")
  52.         }
  53.         i++
  54.     }
  55.     println((x_val + x).toString() + " " + (y_val + y))
  56. }
  57.  
  58.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement