์ตœ๋Œ€ 1 ๋ถ„ ์†Œ์š”

๐Ÿ“ [B2_1592] ์˜์‹์ด์™€ ์นœ๊ตฌ๋“ค

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


public class Main {
    static StringTokenizer st;
    static int N,M,L;
    static int[] cnt;
    // ๊ฒฐ๊ณผ idx
    static int res;

    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringBuilder sb = new StringBuilder();

        st = new StringTokenizer(br.readLine(), " ");
        // ์‚ฌ๋žŒ ์ˆ˜
        N = Integer.parseInt(st.nextToken());

        // ๊ณต ๋ฐ›๋Š” ํšŸ์ˆ˜ ์ œํ•œ
        M = Integer.parseInt(st.nextToken());

        // ๋ช‡๋ฒˆ์งธ ์‚ฌ๋žŒ์—๊ฒŒ ๊ณต์„ ์ฃผ๋ƒ
        L = Integer.parseInt(st.nextToken());
        // ๊ณต ๋ฐ›์€ ํšŸ์ˆ˜ ์„ธ๋Š” ๋ฐฐ์—ด
        cnt = new int[N+1];

        int idx = 1;
        while(true){

            // ๊ณต ๋ฐ›์€ ํšŸ์ˆ˜ +1
            cnt[idx]++;
            res++;

            if(cnt[idx] == M){
                break;
            }

            // ๊ณต ๋ฐ›์€ ํšŸ์ˆ˜๊ฐ€ ์ง์ˆ˜
            if(cnt[idx] % 2 == 0){
                idx -= L;
                if (idx < 1) {
                    idx += N;
                }
            }
            // ๊ณต ๋ฐ›์€ ํšŸ์ˆ˜๊ฐ€ ํ™€์ˆ˜
            else {
                idx += L;
                if(idx>N){
                    idx -= N;
                }
            }
        }

        sb.append(res-1);
        System.out.println(sb);
    }
}

๐Ÿค” ๋‚˜์˜ ์ƒ๊ฐ

๊ฐ„๋‹จํ•˜๊ฒŒ ์ง์ˆ˜, ํ™€์ˆ˜ ๋‚˜๋ˆ ์„œ ๊ณต๋ฐ›์œผ๋ฉด ์นด์šดํŒ… ํ•ด์ฃผ๊ณ  M๋งŒํผ ๋ฐ›์€ ํšŸ์ˆ˜๊ฐ€ ์žˆ์œผ๋ฉด ๋๋‚ด๋Š” ๊ฒƒ์ด๋‹ค.
์žฌ๊ท€๋กœ ํ’€์—ˆ์–ด๋„ ๊ดœ์ฐฎ์•˜์„ ๊ฒƒ ๊ฐ™๋‹ค.

ํƒœ๊ทธ: , , ,

์นดํ…Œ๊ณ ๋ฆฌ:

์—…๋ฐ์ดํŠธ: