Advertisement
Guest User

Untitled

a guest
Aug 16th, 2017
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.43 KB | None | 0 0
  1. #include <iostream>
  2. #include <string>
  3. #include <vector>
  4. #include <algorithm>
  5.  
  6. using namespace std;
  7.  
  8. /**
  9.  * Auto-generated code below aims at helping you parse
  10.  * the standard input according to the problem statement.
  11.  **/
  12.  
  13. int main()
  14. {
  15.  
  16.     int W; // width of the building.
  17.     int H; // height of the building.
  18.     cin >> W >> H; cin.ignore();
  19.     int N; // maximum number of turns before game over.
  20.     cin >> N; cin.ignore();
  21.     int X0;
  22.     int Y0;
  23.     cin >> X0 >> Y0; cin.ignore();
  24.    
  25.     int myX = X0;
  26.     int myY = Y0;
  27.        
  28.     int sizeX_Offset = W - X0;
  29.     int sizeY_Offset = H - Y0;
  30.    
  31.    
  32.     // game loop
  33.     while (1) {
  34.         string bombDir; // the direction of the bombs from batman's current location (U, UR, R, DR, D, DL, L or UL)
  35.         cin >> bombDir; cin.ignore();
  36.  
  37.         // Write an action using cout. DON'T FORGET THE "<< endl"
  38.         // To debug: cerr << "Debug messages..." << endl;
  39.         cerr << "size: " << W << " " << H << endl;  
  40.         cerr << "postion: " << X0 << " " << Y0 << endl;
  41.         cerr << "moves: " << N <<  endl;
  42.         cerr << bombDir << endl;    
  43.  
  44.         if(bombDir == "U")
  45.         {          
  46.            myY--;        
  47.            cout <<  myX << " " << myY << endl;
  48.         }
  49.        
  50.         else if(bombDir == "UR")
  51.         {          
  52.            myY--;  
  53.            myX++;
  54.            cout <<  myX << " " << myY << endl;
  55.         }
  56.        
  57.        else if(bombDir == "R")
  58.         {          
  59.            myX++;
  60.            cout <<  myX << " " << myY << endl;
  61.         }      
  62.        else if(bombDir == "DR")
  63.         {    
  64.            if(N > H && N > W)
  65.                {
  66.                    myY++;
  67.                    myX++;
  68.                    cout <<  myX << " " << myY << endl;
  69.                }
  70.           else
  71.               {
  72.                    
  73.                    sizeY_Offset  = sizeY_Offset / 2;
  74.                    sizeX_Offset  = sizeX_Offset / 2;
  75.                    myY  += sizeY_Offset;
  76.                    myX  += sizeX_Offset;
  77.                    cout <<  myX << " " << myY << endl;
  78.                    
  79.                }
  80.         }
  81.        else if(bombDir == "D")
  82.         {  
  83.                if(N > H)
  84.                {
  85.                        myY++;        
  86.                        cout <<  myX << " " << myY << endl;
  87.                }
  88.                else
  89.                {
  90.                      myY  = sizeY_Offset / 2;
  91.                      cout <<  myX << " " << myY << endl;
  92.                }
  93.            
  94.         }
  95.        else if(bombDir == "DL")
  96.         {          
  97.            myY++;
  98.            myX--;
  99.            cout <<  myX << " " << myY << endl;
  100.         }
  101.         else if(bombDir == "L")
  102.         {          
  103.            myX--;
  104.            cout <<  myX << " " << myY << endl;
  105.         }
  106.       else if(bombDir == "UL")
  107.         {    
  108.          if(N > H && N > W)
  109.            {
  110.                myY--;
  111.                myX--;
  112.                cout <<  myX << " " << myY << endl;
  113.            }
  114.            else
  115.            {
  116.                
  117.                 //   sizeY_Offset  = sizeY_Offset / 2;
  118.                    sizeX_Offset  = sizeX_Offset / 2;
  119.              //      myY  += sizeY_Offset;
  120.                    myX  -= sizeX_Offset;
  121.                    cout <<  myX << " " << myY << endl;
  122.                                          
  123.             }
  124.         }
  125.         // the location of the next window Batman should jump to.
  126.  
  127.     }
  128. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement