Advertisement
mickypinata

PROG-T1018: Roboturtle

Sep 18th, 2021
633
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.92 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4. const int BD = 5e4;
  5.  
  6. typedef pair<int, int> pii;
  7.  
  8. pii dir[4] = {pii(0, 1), pii(1, 0), pii(0, -1), pii(-1, 0)};
  9. char str[5] = "NESW";
  10.  
  11. bool isInBoard(int x, int y){
  12.     return -BD < x && x < BD && -BD < y && y < BD;
  13. }
  14.  
  15. int main(){
  16.  
  17.     int n;
  18.     scanf("%d", &n);
  19.     int cur = 1;
  20.     int x = 0;
  21.     int y = 0;
  22.     for(int i = 1; i <= n; ++i){
  23.         char cmd;
  24.         int mv;
  25.         scanf(" %c %*c%d", &cmd, &mv);
  26.         if(cmd == 'R'){
  27.             cur = (4 + cur + 1) % 4;
  28.         } else if(cmd == 'L'){
  29.             cur = (4 + cur - 1) % 4;
  30.         } else if(cmd == 'B'){
  31.             cur = (4 + cur + 2) % 4;
  32.         }
  33.         x += dir[cur].first * mv;
  34.         y += dir[cur].second * mv;
  35.         if(!isInBoard(x, y)){
  36.             cout << "DEAD";
  37.             return 0;
  38.         }
  39.     }
  40.     cout << x << ' ' << y << '\n' << str[cur];
  41.  
  42.     return 0;
  43. }
  44.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement