Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <string>
- #include <vector>
- #include <algorithm>
- using namespace std;
- /**
- * Auto-generated code below aims at helping you parse
- * the standard input according to the problem statement.
- **/
- int main()
- {
- int W; // width of the building.
- int H; // height of the building.
- cin >> W >> H; cin.ignore();
- int N; // maximum number of turns before game over.
- cin >> N; cin.ignore();
- int X0;
- int Y0;
- cin >> X0 >> Y0; cin.ignore();
- int myX = X0;
- int myY = Y0;
- int sizeX_Offset = W - X0;
- int sizeY_Offset = H - Y0;
- // game loop
- while (1) {
- string bombDir; // the direction of the bombs from batman's current location (U, UR, R, DR, D, DL, L or UL)
- cin >> bombDir; cin.ignore();
- // Write an action using cout. DON'T FORGET THE "<< endl"
- // To debug: cerr << "Debug messages..." << endl;
- cerr << "size: " << W << " " << H << endl;
- cerr << "postion: " << X0 << " " << Y0 << endl;
- cerr << "moves: " << N << endl;
- cerr << bombDir << endl;
- if(bombDir == "U")
- {
- myY--;
- cout << myX << " " << myY << endl;
- }
- else if(bombDir == "UR")
- {
- myY--;
- myX++;
- cout << myX << " " << myY << endl;
- }
- else if(bombDir == "R")
- {
- myX++;
- cout << myX << " " << myY << endl;
- }
- else if(bombDir == "DR")
- {
- if(N > H && N > W)
- {
- myY++;
- myX++;
- cout << myX << " " << myY << endl;
- }
- else
- {
- sizeY_Offset = sizeY_Offset / 2;
- sizeX_Offset = sizeX_Offset / 2;
- myY += sizeY_Offset;
- myX += sizeX_Offset;
- cout << myX << " " << myY << endl;
- }
- }
- else if(bombDir == "D")
- {
- if(N > H)
- {
- myY++;
- cout << myX << " " << myY << endl;
- }
- else
- {
- myY = sizeY_Offset / 2;
- cout << myX << " " << myY << endl;
- }
- }
- else if(bombDir == "DL")
- {
- myY++;
- myX--;
- cout << myX << " " << myY << endl;
- }
- else if(bombDir == "L")
- {
- myX--;
- cout << myX << " " << myY << endl;
- }
- else if(bombDir == "UL")
- {
- if(N > H && N > W)
- {
- myY--;
- myX--;
- cout << myX << " " << myY << endl;
- }
- else
- {
- // sizeY_Offset = sizeY_Offset / 2;
- sizeX_Offset = sizeX_Offset / 2;
- // myY += sizeY_Offset;
- myX -= sizeX_Offset;
- cout << myX << " " << myY << endl;
- }
- }
- // the location of the next window Batman should jump to.
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement