본문으로 바로가기

백준 10158번 (JAVA) 개미

category 알고리즘/백준 2021. 4. 19. 19:10

시간제한이 너무 짧아서 고통스러운 문제였다.

처음은 dfs방식의 해결을 생각했으나, 시간제한이 너무 빠듯했기때문에 시도하지않았고, 수학적인 공식을 찾으려고 노력했다.

그림을 그려서 생각해보면, 세가지정도 그림을 그려보면 충분히 규칙을 찾아 공식을 세울 수 있는 문제이다.

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;

public class BOJ_10158_개미 {

	public static void main(String[] args) throws IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		StringTokenizer st = new StringTokenizer(br.readLine());
		int W = Integer.parseInt(st.nextToken());
		int H = Integer.parseInt(st.nextToken());

		st = new StringTokenizer(br.readLine());
		int P = Integer.parseInt(st.nextToken());
		int Q = Integer.parseInt(st.nextToken());
		int T = Integer.parseInt(br.readLine());
		int x = W - Math.abs(W - (P + T) % (W * 2));
		int y = H - Math.abs(H - (Q + T) % (H * 2));
		System.out.println(x + " " + y);
	}

}