Notice
Recent Posts
Recent Comments
Link
«   2025/06   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
Archives
Today
Total
관리 메뉴

전공공부

[BOJ_1188] 음식 평론가 본문

Study/Problem Solving

[BOJ_1188] 음식 평론가

monitor 2023. 12. 8. 13:56

설명


아래 그림처럼 접근했다. 16 6 들어오면 8 / 3 까지 기약 분수 형태로 GCD로 나눌 수 있고 이때 6개들은 그냥 배포하고 나머지 2/3에 대해서 정리하는 형태로 접근했다.

아래 그림을 보면 밑의 코드가 이해가 될 것이다.

 

N = 2 , M = 5 2/5씩 하는데 이를 빼서 보면 4등분으로 나온다. 2/5 2/5 1/5 1/5 2/5 2/5

 

그러고 보니, 분자 만큼 나누어야 (2개의 빵을 5등분을 하려면 -> 4번 짜른다. 이렇게 생각하면된다.) 하는데 칼질의 갯수니 -1을 하면된다.

 

추가로, 마지막에 GCD로 나눈 기약분수 형태로 풀었으니 다시 복구 시켜야한다.

 

코드


package Math;

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

public class BOJ_1188 {
    public static void main(String[] args) throws Exception{
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringTokenizer tk = new StringTokenizer(br.readLine());

        int N = Integer.parseInt(tk.nextToken());
        int M = Integer.parseInt(tk.nextToken());

        while(M <= N){
            N -= M;
        }
        if(M == 0){
            System.out.println(0);
        }else {
            int down = (M / GCD(M,N) - 1);

            System.out.println(down * GCD(M,N));
        }
    }
    private static int GCD (int a, int b){
        if (b == 0){
            return a;
        }
        return GCD(b,a%b);
    }
}

 

 

1188번: 음식 평론가

첫째 줄에 소시지의 수 N과 평론가의 수 M이 주어진다. (1 ≤ N, M ≤ 100)

www.acmicpc.net

 

'Study > Problem Solving' 카테고리의 다른 글

[자료구조] 트리  (0) 2023.12.10
[BOJ_6416] 트리인가?  (1) 2023.12.10
[BOJ_3343] 장미  (0) 2023.12.07
[BOJ_2436] 공약수  (1) 2023.12.05
[BOJ_1990] 소수인 팰린드롬  (1) 2023.12.04