본문 바로가기
전공공부/코딩테스트

(c++) 백준 "10158. 개미"

by 시아나 2022. 5. 11.

https://www.acmicpc.net/problem/10158

 

10158번: 개미

가로 길이가 w이고 세로 길이가 h인 2차원 격자 공간이 있다. 이 격자는 아래 그림처럼 왼쪽 아래가 (0,0)이고 오른쪽 위가 (w,h)이다. 이 공간 안의 좌표 (p,q)에 개미 한 마리가 놓여있다. 개미는 오

www.acmicpc.net


#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를 따로 구하면 간단한 규칙이 있었다.