https://www.acmicpc.net/problem/10158
#include <iostream>
#include <vector>
using namespace std;
int W, H, p, q,t;
void solution() {
int time = t;
int left = W - p;
if (time <= left) {
p = p + t;
}
else {
time = time - left - 1;
if ((time / W)%2 == 0) {//짝수 -
p = W - time % W - 1;
}
else {//홀수 +
p = time % W + 1;
}
}
time = t;
left = H - q;
if (time <= left) {
q = q + t;
}
else {
time = time - left - 1;
if ((time / H) % 2 == 0) {//짝수 -
q = H - time % H - 1;
}
else {//홀수 +
q = time % H + 1;
}
}
cout << p << " " << q << endl;
}
int main() {
cin >> W >> H;
cin >> p >> q;
cin >> t;
solution();
return 0;
}
x와 y를 따로 구하면 간단한 규칙이 있었다.
'전공공부 > 코딩테스트' 카테고리의 다른 글
(c++) 프로그래머스 "게임 맵 최다거리" (0) | 2022.05.12 |
---|---|
(c++) 프로그래머스 "순위 검색" (0) | 2022.05.11 |
(c++) 프로그래머스 "다리를 지나는 트럭" (0) | 2022.05.10 |
(c++) 백준 "10163. 색종이" (0) | 2022.05.10 |
(c++) 백준 "2578. 빙고" (0) | 2022.05.10 |