14658. ํ•˜๋Š˜์—์„œ ๋ณ„๋˜ฅ๋ณ„์ด ๋น—๋ฐœ์นœ๋‹ค

2025. 1. 29. 22:18ยท์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ

Problem ๐Ÿ’ป

๋‹จ์ˆœํ•œ ๋ธŒ๋ฃจํŠธํฌ์Šค ๋ฌธ์ œ์ง€๋งŒ ์–ด๋–ป๊ฒŒ ํ’€์–ด์•ผํ• ์ง€ ์ข€ ๊ณ ๋ฏผํ•ด๋ด์•ผ ํ•˜๋Š” ๋ฌธ์ œ์ด๋‹ค.


 

Approach 1 โŒ

  • ์ขŒํ‘œ ์™„์ „ ํƒ์ƒ‰
  • ๋ณ„ ๊ธฐ์ค€์œผ๋กœ ์™„์ „ ํƒ์ƒ‰

์ฒ˜์Œ ํ’€์ด๋Š” 2๊ฐ€์ง€์˜€๋‹ค. ์ขŒํ‘œ ์™„์ „ ํƒ์ƒ‰๊ณผ ๋ณ„ ๊ธฐ์ค€ ์™„์ „ ํƒ์ƒ‰.

 

์ขŒํ‘œ ์™„์ „ ํƒ์ƒ‰์€ (1, 1)๋ถ€ํ„ฐ (M-L, N-L)๊นŒ์ง€ x ~ x+L, y ~ y+L ์‚ฌ์ด์˜ ๊ฒน์น˜๋Š” ์ขŒํ‘œ๊ฐ€ ์žˆ๋Š”์ง€ ํ•˜๋‚˜ํ•˜๋‚˜์”ฉ ์ฐพ์•„์„œ ์ตœ๊ณ ๊ฐ’์„ ๊ฐฑ์‹ ํ•ด์ฃผ๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค. ํ•˜์ง€๋งŒ, ๋ฌธ์ œ์˜ ์กฐ๊ฑด์— N, M์€ ์ตœ๋Œ€ 500,000์œผ๋กœ ๋˜์–ด์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ด๋ ‡๊ฒŒ ํ•  ๊ฒฝ์šฐ L = 1์ธ ์ตœ์•…์˜ ๊ฒฝ์šฐ 500,000 * 500,000์œผ๋กœ 2500์–ต ๊ฐ€๊นŒ์ด ๋˜๋Š” ์—ฐ์‚ฐ์ด ์ผ์–ด๋‚œ๋‹ค. ๋‹น์—ฐํžˆ ์‹œ๊ฐ„์ดˆ๊ณผ์ด๋‹ค.

 

๊ทธ๋ž˜์„œ ์ƒ๊ฐํ•œ ๋ฐฉ๋ฒ•์ด ๋ณ„ ๊ธฐ์ค€์œผ๋กœ ์™„์ „ ํƒ์ƒ‰์ด๋‹ค. ์ฒ˜์Œ์—” ๋ณ„ ์ขŒํ‘œ ๊ธฐ์ค€์œผ๋กœ x ~ x+L, y ~ y+L ๊นŒ์ง€ ๊ฒน์น˜๋Š” ๋ณ„๋“ค ์ค‘ ์ตœ๋Œ€๊ฐ’์œผ๋กœ ๊ตฌํ–ˆ๋‹ค. ํ•˜์ง€๋งŒ, ์ œ1, 2, 3, 4 ์‚ฌ๋ถ„๋ฉด์œผ๋กœ ๋‚˜๋ˆ„์–ด ๊ตฌํ•˜๋Š” ๊ฒƒ์ด ๋ฐ˜๋ก€์— ๊ฑธ๋ฆฌ์ง€ ์•Š์„ ๊ฒƒ ๊ฐ™๋‹ค๊ณ  ์ƒ๊ฐํ•ด์„œ ๊ฐ ๋ณ„์˜ ์ขŒํ‘œ๋ฅผ ์ค‘์‹ฌ์œผ๋กœ ํ•œ ์ œ 1, 2, 3, 4 ์‚ฌ๋ถ„๋ฉด์„ ๊ตฌํ•ด ์ตœ๋Œ€๊ฐ’์„ ์ฐพ๋„๋ก ํ•˜์˜€๋‹ค. ๊ทผ๋ฐ ์ด ๋ฐฉ๋ฒ•์€ ๋ฐ˜๋ก€๊ฐ€ ์žˆ๋‹ค.

 

. * .
* . *
. * .

 

์œ„์™€ ๊ฐ™์€ ๋ณ„ ์œ„์น˜๊ฐ€ ์ฃผ์–ด์ง€๊ณ  L์ด 3์ด๋ผ๋ฉด (1, 1)์— ํŠธ๋žจํŽ„๋ฆฐ์„ ๋‘๋Š” ๊ฒƒ์ด ๋ชจ๋“  ๋ณ„์„ ๋‹ค ํŠ•๊ฒจ๋‚ผ ์ˆ˜ ์žˆ๋‹ค. ํ•˜์ง€๋งŒ, ๋ฐฉ๊ธˆ ๋กœ์ง์œผ๋กœ๋Š” ์ตœ๋Œ€ 3๊ฐœ๊นŒ์ง€์˜ ๋ณ„๋งŒ ํŠ•๊ฒจ๋‚ผ ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ์ •๋‹ต์ด ๋  ์ˆ˜ ์—†๋‹ค.


 

Approach 2 โญ•

  • ์ฃผ์–ด์ง„ ๋ณ„ ์ขŒํ‘œ๋“ค์˜ ๋ชจ๋“  y ์ขŒํ‘œ ํƒ์ƒ‰

๋ณ„๋˜ฅ๋ณ„ ๋‘ ๊ฐœ๋ฅผ ์„ ํƒํ•ด์„œ ํ•˜๋‚˜๋Š” x ์ขŒํ‘œ, ํ•˜๋‚˜๋Š” y ์ขŒํ‘œ๋งŒ ๊ฐ€์ ธ์˜จ๋‹ค. ์™œ ์ด๋ ‡๊ฒŒ ํ‘ธ๋ƒ๋ฉด ์ตœ๋Œ€ํ•œ ๋ณ„๋˜ฅ๋ณ„๋“ค์ด ๋งŽ์ด ๋ชจ์—ฌ์žˆ๋Š” ์œ„์น˜์— ํŠธ๋žจํŽ„๋ฆฐ์„ ๋ฐฐ์น˜ํ•ด์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

 

. * .
* . *
. * .

 

์œ„์™€ ๊ฐ™์€ ์ƒํ™ฉ์ผ ๋•Œ (1, 2)์˜ x์™€ (2, 1)์˜ y๋ฅผ ๊ฐ€์ ธ์˜ค๋ฉด (1, 1)์— ํŠธ๋žจํŽ„๋ฆฐ์„ ์„ค์น˜ํ•  ์ˆ˜ ์žˆ๊ฒŒ๋œ๋‹ค. ๊ทธ๋ ‡๊ฒŒํ•ด์•ผ ์ตœ๋Œ€ํ•œ ๋งŽ์€ ๋ณ„๋˜ฅ๋ณ„์„ ํŠ•๊ฒจ๋‚ผ ์ˆ˜ ์žˆ๋‹ค. ์ฆ‰, ์ตœ๋Œ€ํ•œ ๋ณ„๋“ค์„ ํŠธ๋žจํŽ„๋ฆฐ ๋ชจ์„œ๋ฆฌ์— ์œ„์น˜์‹œ์ผœ ๋งŽ์€ ๋ณ„๋˜ฅ๋ณ„์„ ํŠ•๊ฒจ๋‚ด๋Š” ๊ฒƒ์ด๋‹ค. ์ด๋ฅผ ๊ทธ๋ฆผ์œผ๋กœ ๋‚˜ํƒ€๋‚ด๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

 


 

Solution ๐Ÿ’ก

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

        int n = Integer.parseInt(st.nextToken());
        int m = Integer.parseInt(st.nextToken());
        int l = Integer.parseInt(st.nextToken());
        int k = Integer.parseInt(st.nextToken());

        int[][] stars = new int[k][2];
        for (int i = 0; i < k; i++) {
            st = new StringTokenizer(br.readLine());
            stars[i][0] = Integer.parseInt(st.nextToken());
            stars[i][1] = Integer.parseInt(st.nextToken());
        }

        int ret = 0;
        for (int s1 = 0; s1 < k; s1++) {
            int x = stars[s1][0];
            for (int s2 = 0; s2 < k; s2++) {
                int y = stars[s2][1];
                int cnt = 0;
                for (int s = 0; s < k; s++) {
                    if (x <= stars[s][0] && (x + l) >= stars[s][0] && y <= stars[s][1] && (y + l) >= stars[s][1]) cnt++;
                }

                ret = Math.max(ret, cnt);
            }
        }

        System.out.println(k - ret);
    }
}

 

Reference ๐Ÿ“„

https://www.acmicpc.net/board/view/146794

https://www.acmicpc.net/board/view/107552

์ €์ž‘์žํ‘œ์‹œ (์ƒˆ์ฐฝ์—ด๋ฆผ)

'์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

10875. ๋ฑ€  (0) 2025.02.05
1800. ์ธํ„ฐ๋„ท ์„ค์น˜  (0) 2025.02.05
1863. ์Šค์นด์ด๋ผ์ธ ์‰ฌ์šด๊ฑฐ  (0) 2025.01.22
4485. ๋…น์ƒ‰ ์˜ท ์ž…์€ ์• ๊ฐ€ ์ ค๋‹ค์ง€?  (1) 2025.01.19
1238. ํŒŒํ‹ฐ  (0) 2025.01.17
'์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • 10875. ๋ฑ€
  • 1800. ์ธํ„ฐ๋„ท ์„ค์น˜
  • 1863. ์Šค์นด์ด๋ผ์ธ ์‰ฌ์šด๊ฑฐ
  • 4485. ๋…น์ƒ‰ ์˜ท ์ž…์€ ์• ๊ฐ€ ์ ค๋‹ค์ง€?
์œจ๋ฌด;
์œจ๋ฌด;
  • ์œจ๋ฌด;
    ๐ŸฅŠ
    ์œจ๋ฌด;
  • ์ „์ฒด
    ์˜ค๋Š˜
    ์–ด์ œ
    • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (65)
      • ๊ฐœ๋ฐœ (30)
        • ์šฐ์•„ํ•œํ…Œํฌ์ฝ”์Šค (13)
        • ์šด์˜์ฒด์ œ (12)
      • ๊ฐœ๋ฐœ์„œ์  (2)
        • ์ž๋ฐ”-์Šคํ”„๋ง ์‹ค์šฉ์ฃผ์˜ ํ”„๋กœ๊ทธ๋ž˜๋ฐ (2)
      • ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ (28)
      • ๊ฒŒ์ž„๊ฐœ๋ฐœ (5)
  • ๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

    • ํ™ˆ
    • ํƒœ๊ทธ
    • ๋ฐฉ๋ช…๋ก
  • ๋งํฌ

  • ๊ณต์ง€์‚ฌํ•ญ

  • ์ธ๊ธฐ ๊ธ€

  • ํƒœ๊ทธ

    ์ธ๋””๊ฒŒ์ž„
    ์ ˆ์ฐจ์ ์ƒ์„ฑ
    dfs
    ๊ฐœ๋ฐœ
    BFS
    ๊ฒŒ์ž„๊ฐœ๋ฐœ
    ํŒŒ์ด์ฌ
    C++
    ์…€๋ฃฐ๋Ÿฌ์˜คํ† ๋งˆํƒ€
    ๊ฐœ๋ฐœ์—ฐ์Šต
    ๋กœ๊ทธ
    ์ด๋™์ƒ์„ฑ์ž
    ๊ฒŒ์ž„
    ์šฐํ…Œ์ฝ”
    2048
    ์ฝ”๋”ฉ
    2048(Hard)
    ๋กœ๊ทธ๋ผ์ดํฌ
    ๋ฐฑ์ค€
    ์ž๋ฐ”
    ์ด๊ฒƒ์ดC++์ด๋‹ค
    ์šฐ์•„ํ•œํ…Œํฌ์ฝ”์Šค
    python
    ์•Œ๊ณ ๋ฆฌ์ฆ˜
    bsp
  • ์ตœ๊ทผ ๋Œ“๊ธ€

  • ์ตœ๊ทผ ๊ธ€

  • hELLOยท Designed By์ •์ƒ์šฐ.v4.10.3
์œจ๋ฌด;
14658. ํ•˜๋Š˜์—์„œ ๋ณ„๋˜ฅ๋ณ„์ด ๋น—๋ฐœ์นœ๋‹ค
์ƒ๋‹จ์œผ๋กœ

ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”