728x90
시간 제한 : 1초
메모리 제한 : 256MB
입력
첫줄에는 w와 h가 공백을 사이에 두고 주어진다. 그 다음 줄에는 초기 위치의 좌표값 p와 q가 공백을 사이에 두고 주어진다. 3번째 줄에는 개미가 움직일 시간 t가 주어진다.
출력
출력은 t 시간 후에 개미의 위치 좌표 (x,y)의 값 x와 y를 공백을 사이에 두고 출력한다.
소스코드
#include <iostream> using namespace std; int main(void) { int w, h, curx, cury, dx, dy, t; cin >> w >> h >> curx >> cury >> t; dx = dy = 1; for (int i = 0; i < t; i++) { if (curx + dx > w || curx + dx < 0) dx = -dx; if (cury + dy > h || cury + dy < 0) dy = -dy; curx += dx; cury += dy; } cout << curx << ' ' << cury; }
Tip
단순한 시뮬레이션 문제다. 이런 류의 문제를 많이 풀어본 사람이라면 바로 풀 수 있을 것이다. 좀 더 빠른 속도로 풀려면 필요 없는 연산 작업(충돌이 없는 이동)을 없애는 것이 좋다.
728x90
'Computer Science > Algorithm Problem' 카테고리의 다른 글
백준] 11404 - 플로이드 (0) | 2018.03.03 |
---|---|
백준] 10474 - 분수 좋아해?(ACM-ICPC Regional) (0) | 2018.03.03 |
백준] 2631 - 줄세우기(KOI 2001) (0) | 2018.02.18 |
백준] 8979 - 올림픽(KOI 2013) (0) | 2018.02.11 |
백준] 8974 - 희주의 수학시험 (0) | 2018.02.07 |