[BOJ] 10158 개미.java

전영서·2021년 9월 1일
0

Algorithm

목록 보기
22/89

1.문제

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

2.코드

import java.io.*;
import java.util.StringTokenizer;

public class Main{

    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
        //격자
        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());
        //짝수번째면 그냥 출력 홀수번째면 역방향이므로, 격자의 길이에서 이동한 만큼 제해준다.
        if(((p+t)/w)%2 == 0){
            p = (p+t)%w;
        }else{
            p = w-(p+t)%w;
        }

        if(((q+t)/h%2)==0){
            q = (q+t)%h;
        }else{
            q = h-(q+t)%h;
        }
        bw.write(p+" "+q);

        bw.flush();
        bw.close();
        br.close();
    }

}

3.Review

음.. 처음에는 제자리로 오는 위치에서 시작하게 시간을 조절 해 주었는데, 0.15초로 풀기엔 너무 짧앗고 O(1)로 풀수있는 방법이 존재하였다.

좌우, 상하로만 반복운동한다는것에 중점을 두고 풀면 된다.

profile
꾸준히 성실하게

0개의 댓글