[๋ฐฑ์ค€] 14500. ํ…ŒํŠธ๋กœ๋ฏธ๋…ธ/Python - Gold4

2025. 8. 6. 16:41ยทCoding Test/Algorithms

โ“๋ฌธ์ œ

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

์„ฑ๋Šฅ ์š”์•ฝ

๋ฉ”๋ชจ๋ฆฌ: 114816 KB, ์‹œ๊ฐ„: 152 ms

๋ถ„๋ฅ˜

๊ตฌํ˜„, ๋ธŒ๋ฃจํŠธํฌ์Šค ์•Œ๊ณ ๋ฆฌ์ฆ˜

 

๋ฌธ์ œ ์„ค๋ช…

ํด๋ฆฌ์˜ค๋ฏธ๋…ธ๋ž€ ํฌ๊ธฐ๊ฐ€ 1×1์ธ ์ •์‚ฌ๊ฐํ˜•์„ ์—ฌ๋Ÿฌ ๊ฐœ ์ด์–ด์„œ ๋ถ™์ธ ๋„ํ˜•์ด๋ฉฐ, ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์กฐ๊ฑด์„ ๋งŒ์กฑํ•ด์•ผ ํ•œ๋‹ค.

  • ์ •์‚ฌ๊ฐํ˜•์€ ์„œ๋กœ ๊ฒน์น˜๋ฉด ์•ˆ ๋œ๋‹ค.
  • ๋„ํ˜•์€ ๋ชจ๋‘ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ์–ด์•ผ ํ•œ๋‹ค.
  • ์ •์‚ฌ๊ฐํ˜•์˜ ๋ณ€๋ผ๋ฆฌ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ์–ด์•ผ ํ•œ๋‹ค. ์ฆ‰, ๊ผญ์ง“์ ๊ณผ ๊ผญ์ง“์ ๋งŒ ๋งž๋‹ฟ์•„ ์žˆ์œผ๋ฉด ์•ˆ ๋œ๋‹ค.

์ •์‚ฌ๊ฐํ˜• 4๊ฐœ๋ฅผ ์ด์–ด ๋ถ™์ธ ํด๋ฆฌ์˜ค๋ฏธ๋…ธ๋Š” ํ…ŒํŠธ๋กœ๋ฏธ๋…ธ๋ผ๊ณ  ํ•˜๋ฉฐ, ๋‹ค์Œ๊ณผ ๊ฐ™์€ 5๊ฐ€์ง€๊ฐ€ ์žˆ๋‹ค.

์•„๋ฆ„์ด๋Š” ํฌ๊ธฐ๊ฐ€ N×M์ธ ์ข…์ด ์œ„์— ํ…ŒํŠธ๋กœ๋ฏธ๋…ธ ํ•˜๋‚˜๋ฅผ ๋†“์œผ๋ ค๊ณ  ํ•œ๋‹ค. ์ข…์ด๋Š” 1×1 ํฌ๊ธฐ์˜ ์นธ์œผ๋กœ ๋‚˜๋ˆ„์–ด์ ธ ์žˆ์œผ๋ฉฐ, ๊ฐ๊ฐ์˜ ์นธ์—๋Š” ์ •์ˆ˜๊ฐ€ ํ•˜๋‚˜ ์“ฐ์—ฌ ์žˆ๋‹ค.

ํ…ŒํŠธ๋กœ๋ฏธ๋…ธ ํ•˜๋‚˜๋ฅผ ์ ์ ˆํžˆ ๋†“์•„์„œ ํ…ŒํŠธ๋กœ๋ฏธ๋…ธ๊ฐ€ ๋†“์ธ ์นธ์— ์“ฐ์—ฌ ์žˆ๋Š” ์ˆ˜๋“ค์˜ ํ•ฉ์„ ์ตœ๋Œ€๋กœ ํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค.

ํ…ŒํŠธ๋กœ๋ฏธ๋…ธ๋Š” ๋ฐ˜๋“œ์‹œ ํ•œ ์ •์‚ฌ๊ฐํ˜•์ด ์ •ํ™•ํžˆ ํ•˜๋‚˜์˜ ์นธ์„ ํฌํ•จํ•˜๋„๋ก ๋†“์•„์•ผ ํ•˜๋ฉฐ, ํšŒ์ „์ด๋‚˜ ๋Œ€์นญ์„ ์‹œ์ผœ๋„ ๋œ๋‹ค.

โœ๐Ÿปํ’€์ด

DFS์™€ ๋ฐฑํŠธ๋ž˜ํ‚น์œผ๋กœ ์ ‘๊ทผํ•˜๋ฉด ๋œ๋‹ค. ๊นŠ์ด ์šฐ์„  ํƒ์ƒ‰์„ ํ•˜๋ฉด ใ…— ๋ชจ์–‘์„ ์ œ์™ธํ•œ ๋ชจ๋“  ๋ชจ์–‘์„ ๊ตฌํ•  ์ˆ˜ ์žˆ๋‹ค.

ใ…— ๋ชจ์–‘์„ ๋งŒ๋“œ๋ ค๋ฉด ํ•œ ์ขŒํ‘œ์—์„œ ์–‘ ์˜†์œผ๋กœ ํƒ์ƒ‰ํ•ด์•ผ ํ•œ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๋ณดํ†ต DFS๋ฅผ ํ’€ ๋•Œ ์ด์ „ ์ขŒํ‘œ๋ฅผ ๊ธฐ๋กํ•˜์ง€ ์•Š๋Š”๋‹ค. ๊ทธ๋Ÿฌ๋ฏ€๋กœ ์ขŒํ‘œ๋ฅผ ๊ธฐ๋กํ•˜์—ฌ ์ด๋ฏธ ์ง€๋‚˜์˜จ ์ขŒํ‘œ๋”๋ผ๋„ ๋‹ค๋ฅธ ๋ฐฉํ–ฅ์œผ๋กœ ํƒ์ƒ‰ํ•˜์—ฌ ใ…— ๋ชจ์–‘์„ ๋งŒ๋“ค๋ฉด ๋œ๋‹ค.

https://jominseoo.tistory.com/96

 

[์‚ผ์„ฑ SW ์—ญ๋Ÿ‰ํ…Œ์ŠคํŠธ ๊ธฐ์ถœ] ๋ฐฑ์ค€ 14500๋ฒˆ ํ…ŒํŠธ๋กœ๋ฏธ๋…ธ(Python)

๋ฌธ์ œ ๋งํฌ : https://www.acmicpc.net/problem/14500] ๋‚œ์ด๋„ : ๊ณจ๋“œ 4 14500๋ฒˆ: ํ…ŒํŠธ๋กœ๋ฏธ๋…ธ ํด๋ฆฌ์˜ค๋ฏธ๋…ธ๋ž€ ํฌ๊ธฐ๊ฐ€ 1×1์ธ ์ •์‚ฌ๊ฐํ˜•์„ ์—ฌ๋Ÿฌ ๊ฐœ ์ด์–ด์„œ ๋ถ™์ธ ๋„ํ˜•์ด๋ฉฐ, ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์กฐ๊ฑด์„ ๋งŒ์กฑํ•ด์•ผ ํ•œ๋‹ค. ์ •์‚ฌ๊ฐ

jominseoo.tistory.com

๊ฐ€์ง€์น˜๊ธฐ์™€ ใ…—๋ชจ์–‘์— ๋Œ€ํ•ด์„œ๋Š” ์œ„ ์‚ฌ์ดํŠธ๋ฅผ ์ฐธ๊ณ ํ•ด์„œ ํ’€์—ˆ๋‹ค.

๐Ÿ’ป์ฝ”๋“œ

import sys

input = sys.stdin.readline

N, M = map(int, input().split())
board = [list(map(int, input().split())) for _ in range(N)]
visited = [[0 for _ in range(M)] for _ in range(N)]
mx = max(map(max, board))

def backtracking(pos, cnt, res):
    global ans
    if res + (4-cnt) * mx <= ans:
        return

    if cnt == 4:
        ans = max(res, ans)
        return

    for y, x in pos:
        for dy, dx in ((-1, 0), (1, 0), (0, -1), (0, 1)):
            ny, nx = y + dy, x + dx
            if 0 <= ny < N and 0 <= nx < M and not visited[ny][nx]:
                visited[ny][nx] = 1
                backtracking(pos + [(ny, nx)], cnt + 1, res + board[ny][nx])
                visited[ny][nx] = 0

ans = 0
for y in range(N):
    for x in range(M):
        visited[y][x] = 1
        backtracking([(y, x)], 1, board[y][x])

print(ans)

๐Ÿ“ํ›„๊ธฐ

์ฒ˜์Œ์— DFS๋กœ ํ’€์—ˆ์ง€๋งŒ ใ…— ๋ชจ์–‘์„ ํ•ด๊ฒฐํ•˜๋Š” ๊ฒƒ์—์„œ ๋งŽ์€ ์‹œ๊ฐ„์„ ์†Œ์š”ํ–ˆ์ง€๋งŒ ์ด ๋ฌธ์ œ๋ฅผ ํ’€๋ฉด์„œ DFS์— ๋Œ€ํ•œ ํŽธํ˜‘์ ์ธ ์ƒ๊ฐ์„ ๊นฐ ์ˆ˜ ์žˆ์—ˆ๋‹ค๊ณ  ์ƒ๊ฐํ•œ๋‹ค.

์ €์ž‘์žํ‘œ์‹œ ๋น„์˜๋ฆฌ ๋ณ€๊ฒฝ๊ธˆ์ง€ (์ƒˆ์ฐฝ์—ด๋ฆผ)

'Coding Test > Algorithms' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[๋ฐฑ์ค€] 2630. ์ƒ‰์ข…์ด ๋งŒ๋“ค๊ธฐ/Python - Silver2  (0) 2025.08.10
[๋ฐฑ์ค€] 11404. ํ”Œ๋กœ์ด๋“œ/Python - Gold4  (0) 2025.08.07
[๋ฐฑ์ค€] 14502. ์—ฐ๊ตฌ์†Œ/Python - Gold4  (0) 2025.08.03
[๋ฐฑ์ค€] 14499. ์ฃผ์‚ฌ์œ„ ๊ตด๋ฆฌ๊ธฐ/Python - Gold4  (4) 2025.08.02
[๋ฐฑ์ค€] 3190. ๋ฑ€/Python - Gold4  (3) 2025.07.30
'Coding Test/Algorithms' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • [๋ฐฑ์ค€] 2630. ์ƒ‰์ข…์ด ๋งŒ๋“ค๊ธฐ/Python - Silver2
  • [๋ฐฑ์ค€] 11404. ํ”Œ๋กœ์ด๋“œ/Python - Gold4
  • [๋ฐฑ์ค€] 14502. ์—ฐ๊ตฌ์†Œ/Python - Gold4
  • [๋ฐฑ์ค€] 14499. ์ฃผ์‚ฌ์œ„ ๊ตด๋ฆฌ๊ธฐ/Python - Gold4
The Engineer, Lucy
The Engineer, Lucy
  • The Engineer, Lucy
    Growing up for My Future๐Ÿ’•
    The Engineer, Lucy
    • Instagram
    • GitHub
  • ์ „์ฒด
    ์˜ค๋Š˜
    ์–ด์ œ
    • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (171) N
      • Linux (26)
      • Infra (9)
      • Cloud (25)
        • AWS (2)
        • GCP (3)
        • Docker (4)
        • Kubernetes (14)
        • IaC (2)
      • NGINX (1)
      • DevOps (3)
      • Computer Science (17)
        • Data Structure (0)
        • Algorithms (1)
        • Operating System (3)
        • Network (11)
        • Database System (2)
      • Coding Test (85) N
        • Algorithms (77) N
        • SQL (7)
      • ETC (5)
  • ๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

    • ํ™ˆ
    • ํƒœ๊ทธ
    • ๋ฐฉ๋ช…๋ก
  • ๊ณต์ง€์‚ฌํ•ญ

  • ๋งํฌ

    • Lucy's Instagram
    • Lucy's GitHub
  • ์ธ๊ธฐ ๊ธ€

  • ํƒœ๊ทธ

    ๋„์ปค
    ๋ฐฑ์ค€
    ์˜ค๋ธ”์™„
    Shell
    ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค
    ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ๊ณต๋ถ€
    ๋ฆฌ๋ˆ…์Šค๋งˆ์Šคํ„ฐ
    Java
    network
    ์‰˜ ์Šคํฌ๋ฆฝํŠธ
    ๋„คํŠธ์›Œํฌ
    cs ๊ธฐ์ดˆ ์ง€์‹ ์ •๋ฆฌ
    programmers
    ๋„คํŠธ์›Œํฌ ๊ธฐ์ดˆ ์ง€์‹
    Baekjoon
    ์…ธ ์Šคํฌ๋ฆฝํŠธ
    Linux
    ๋ฆฌ๋ˆ…์Šค
    Kubernetes
    bfs
    K8s
    Shell Script
    ๋‹ค์ด๋‚˜๋ฏน ํ”„๋กœ๊ทธ๋ž˜๋ฐ
    ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค
    ํ‹ฐ์Šคํ† ๋ฆฌ์ฑŒ๋ฆฐ์ง€
    ๋ฆฌ๋ˆ…์Šค๋งˆ์Šคํ„ฐ 2๊ธ‰
    ์ž๋ฐ”
    ๋„ˆ๋น„์šฐ์„ ํƒ์ƒ‰
    docker
    dfs
  • ์ตœ๊ทผ ๋Œ“๊ธ€

  • ์ตœ๊ทผ ๊ธ€

  • hELLOยท Designed By์ •์ƒ์šฐ.v4.10.3
The Engineer, Lucy
[๋ฐฑ์ค€] 14500. ํ…ŒํŠธ๋กœ๋ฏธ๋…ธ/Python - Gold4
์ƒ๋‹จ์œผ๋กœ

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