๐Ÿ“– [๋ฐฑ์ค€์•Œ๊ณ ๋ฆฌ์ฆ˜ ํ’€์ด] Q.1783 ๋ณ‘๋“  ๋‚˜์ดํŠธ ๋ฌธ์ œ ํ’€์ด

๐Ÿ“– ๋ฌธ์ œ

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

๋ณ‘๋“  ๋‚˜์ดํŠธ๊ฐ€ N ร— M ํฌ๊ธฐ ์ฒด์ŠคํŒ์˜ ๊ฐ€์žฅ ์™ผ์ชฝ์•„๋ž˜ ์นธ์— ์œ„์น˜ํ•ด ์žˆ๋‹ค. ๋ณ‘๋“  ๋‚˜์ดํŠธ๋Š” ๊ฑด๊ฐ•ํ•œ ๋ณดํ†ต ์ฒด์Šค์˜ ๋‚˜์ดํŠธ์™€ ๋‹ค๋ฅด๊ฒŒ 4๊ฐ€์ง€๋กœ๋งŒ ์›€์ง์ผ ์ˆ˜ ์žˆ๋‹ค.

1.  2์นธ ์œ„๋กœ, 1์นธ ์˜ค๋ฅธ์ชฝ
2.  1์นธ ์œ„๋กœ, 2์นธ ์˜ค๋ฅธ์ชฝ
3.  1์นธ ์•„๋ž˜๋กœ, 2์นธ ์˜ค๋ฅธ์ชฝ
4.  2์นธ ์•„๋ž˜๋กœ, 1์นธ ์˜ค๋ฅธ์ชฝ
๋ณ‘๋“  ๋‚˜์ดํŠธ๋Š” ์—ฌํ–‰์„ ์‹œ์ž‘ํ•˜๋ ค๊ณ  ํ•˜๊ณ , ์—ฌํ–‰์„ ํ•˜๋ฉด์„œ ๋ฐฉ๋ฌธํ•œ ์นธ์˜ ์ˆ˜๋ฅผ ์ตœ๋Œ€๋กœ ํ•˜๋ ค๊ณ  ํ•œ๋‹ค. ๋ณ‘๋“  ๋‚˜์ดํŠธ์˜ ์ด๋™ ํšŸ์ˆ˜๊ฐ€ 4๋ฒˆ๋ณด๋‹ค ์ ์ง€ ์•Š๋‹ค๋ฉด,

์ด๋™ ๋ฐฉ๋ฒ•์„ ๋ชจ๋‘ ํ•œ ๋ฒˆ์”ฉ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค. ์ด๋™ ํšŸ์ˆ˜๊ฐ€ 4๋ฒˆ๋ณด๋‹ค ์ ์€ ๊ฒฝ์šฐ(๋ฐฉ๋ฌธํ•œ ์นธ์ด 5๊ฐœ ๋ฏธ๋งŒ)์—๋Š” ์ด๋™ ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ์ œ์•ฝ์ด ์—†๋‹ค.

์ฒด์ŠคํŒ์˜ ํฌ๊ธฐ๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, ๋ณ‘๋“  ๋‚˜์ดํŠธ๊ฐ€ ์—ฌํ–‰์—์„œ ๋ฐฉ๋ฌธํ•  ์ˆ˜ ์žˆ๋Š” ์นธ์˜ ์ตœ๋Œ€ ๊ฐœ์ˆ˜๋ฅผ ๊ตฌํ•ด๋ณด์ž.

๐Ÿ” ์ ‘๊ทผ๋ฒ•

Q.1783 ๋ณ‘๋“  ๋‚˜์ดํŠธ ๋ฌธ์ œ ํ’€์ด์ž…๋‹ˆ๋‹ค.

N X M ํฌ๊ธฐ ์ฒด์ŠคํŒ์—์„œ ๊ฐ€์žฅ ์™ผ์ชฝ ์•„๋ž˜ ์นธ์—์„œ ์ถœ๋ฐœํ•˜๊ณ  ๋ฐฉ๋ฌธํ•  ์ˆ˜ ์žˆ๋Š”

์นธ์˜ ์ตœ๋Œ€ ๊ฐœ์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค.

์šฐ์„  ์œ„ ์•„๋ž˜๋กœ๋Š” ์ž์œ ๋กญ๊ฒŒ ์›€์ง์ผ ์ˆ˜ ์žˆ์ง€๋งŒ ์˜†์œผ๋กœ๋Š” ๊ณ„์† ์˜ค๋ฅธ์ชฝ์œผ๋กœ ๋ฐ–์—

๊ฐ€์ง€ ๋ชป ํ•ฉ๋‹ˆ๋‹ค.

๋˜ํ•œ 4๊ฐ€์ง€ ๋ฐฉ๋ฒ•์œผ๋กœ ๋ฐ–์— ์›€์ง์ด์ง€ ๋ชป ํ•˜๋ฏ€๋กœ

์—ฌ๋Ÿฌ ๊ฒฝ์šฐ์— ๋”ฐ๋ผ ๊ฐˆ ์ˆ˜ ์žˆ๋Š” ์นธ์ด ๋‹ฌ๋ผ์ง‘๋‹ˆ๋‹ค.

๊ฐ ๊ทœ์น™์— ๋”ฐ๋ผ ๋ฐฉ๋ฌธํ•  ์ˆ˜ ์žˆ๋Š” ์ตœ๋Œ€ ์นธ์„ ๊ตฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

1) ๋†’์ด 1์ธ ๊ฒฝ์šฐ
-   ์šฐ์„  ๋†’์ด๊ฐ€ 1์ธ ๊ฒฝ์šฐ์—๋Š” ์œ„ ์•„๋ž˜๋กœ ์›€์ง์ผ ์ˆ˜ ์—†๊ธฐ ๋•Œ๋ฌธ์— ์ฒ˜์Œ ์ž๋ฆฌ 1์นธ ๋ฐ–์— ๋ฐฉ๋ฌธ์„ ๋ชปํ•˜๊ณ 

2) ๋†’์ด 2์ธ ๊ฒฝ์šฐ

-   ๋†’์ด๊ฐ€ 2์ธ ๊ฒฝ์šฐ์—๋Š” 2๋ฒˆ 3๋ฒˆ ๊ฒฝ์šฐ๋กœ ๋ฐ–์— ๋ชป ์›€์ง์ž…๋‹ˆ๋‹ค.
    ๊ทœ์น™์— ์˜ํ•ด์„œ (M+1) / 2๊ฐ€ ์ตœ๋Œ€ํ•œ 
    
-   ๋‹จ, 4๊ฐ€์ง€ ๊ฒฝ์šฐ๋กœ ๋ชจ๋‘ ์›€์ง์ผ ์ˆ˜ ์—†๊ธฐ ๋•Œ๋ฌธ์— ์ตœ๋Œ€ 4์นธ๊นŒ์ง€๋งŒ ๋ฐฉ๋ฌธ ๊ฐ€๋Šฅ ํ•ฉ๋‹ˆ๋‹ค.
    ๊ฐ€๋กœ๊ฐ€ 8๋ณด๋‹ค ํฌ๋”๋ผ๋„ 4์นธ๊นŒ์ง€๋งŒ ๋ฐฉ๋ฌธ ๊ฐ€๋Šฅ
   
3) ๋†’์ด๊ฐ€ 3 ์ด์ƒ์ธ ๊ฒฝ์šฐ

    3-1) ๊ฐ€๋กœ๊ฐ€ 6๋ณด๋‹ค ํฐ๊ฒฝ์šฐ (4๊ฐ€์ง€ ๊ฒฝ์šฐ๋กœ ๋ชจ๋‘ ์›€์ง์ผ ์ˆ˜ ์žˆ์„ ๋•Œ)

            -   ๋†’์ด๊ฐ€ 3 ์ด์ƒ์ธ ๊ฒฝ์šฐ์—๋Š” 4๊ฐ€์ง€ ๊ฒฝ์šฐ ๋ชจ๋‘ ์›€์ง์ผ ์ˆ˜ ์žˆ๊ณ  4 ๋ฐฉํ–ฅ ๋ชจ๋‘ ์›€์ง์ผ ๊ฒฝ์šฐ์— ์˜ค๋ฅธ์ชฝ์œผ๋กœ 6์นธ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.
                ๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์— ๊ฐ€๋กœ๊ฐ€ 6๋ณด๋‹ค ๋†’์€ ๊ฒฝ์šฐ์—๋Š” 4 ๋ฐฉํ–ฅ์œผ๋กœ ๋ชจ๋‘ ์›€์ง์ด๊ณ  1์นธ์”ฉ ์˜ค๋ฅธ์ชฝ์œผ๋กœ ์ด๋™ํ•˜๋ฉด ์ตœ๋Œ€๊ฐ€ ๋ฉ๋‹ˆ๋‹ค.
                ์ฆ‰ M - 6 + 4 ๊ฐ€ ์ตœ๋Œ€ ๋ฐฉ๋ฌธํ•  ์ˆ˜ ์žˆ๋Š” ์นธ์ด ๋ฉ๋‹ˆ๋‹ค. 
                (4๊ฐ€์ง€ ๊ฒฝ์šฐ ๋ชจ๋‘ ์›€์ง์ด๋Š”๋ฐ ์˜ค๋ฅธ์ชฝ์œผ๋กœ 6์นธ ์†Œ๋ชจ 6์นธ ์†Œ๋ชจํ•ด์„œ 4๊ณณ ๋ฐฉ๋ฌธ ๋‚˜๋จธ์ง€๋Š” ์˜ค๋ฅธ์ชฝ์œผ๋กœ ํ•œ์นธ์”ฉ๋งŒ ์›€์ง์ด๋ฉด ๋จ) 

    3-2) ๊ฐ€๋กœ๊ฐ€ 6๋ณด๋‹ค ์ž‘์€ ๊ฒฝ์šฐ (4๊ฐ€์ง€ ๊ฒฝ์šฐ๋กœ ๋ชจ๋‘ ์›€์ง์ผ ์ˆ˜ ์—†์Œ)
            
            -   1์นธ์”ฉ๋งŒ ์›€์ง์—ฌ M์นธ ๋ฐฉ๋ฌธํ•˜๊ฑฐ๋‚˜ ์ตœ๋Œ€ 4์นธ๊นŒ์ง€๋งŒ ๋ฐฉ๋ฌธ ๊ฐ€๋Šฅ

์ด๋Ÿฌํ•œ ๊ทœ์น™์— ๋”ฐ๋ผ ๋‹ต์„ ๋„์ถœ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ’ป ์ฝ”๋“œ


package problem.greedy;

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

public class Main_1783 {

    static int N;
    static int M;

    public static void main(String[] args) throws IOException {
        input();
        System.out.println(solve());
    }

    public static void input() throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String[] input = br.readLine().split(" ");
        N = Integer.parseInt(input[0]);
        M = Integer.parseInt(input[1]);
        br.close();
    }

    public static int solve() {
        if (N == 1) {
            return 1;
        } else if (N == 2) {
            if (M > 8) {
                return 4;
            }
            return ((M + 1) / 2);
        } else {
            if (M > 6) {
                return M - 6 + 4;
            } else {
                return Math.min(M, 4);
            }
        }
    }
}

Written on February 3, 2021