강의

멘토링

커뮤니티

Cộng đồng Hỏi & Đáp của Inflearn

Hình ảnh hồ sơ của kingaser0927
kingaser0927

câu hỏi đã được viết

Giới thiệu về giải bài toán bằng thuật toán Python (chuẩn bị cho bài kiểm tra viết mã)

14. Khu vực an toàn (DFS)

bfs로 풀어봤는데 뭐가 문제인지 모르겠어요

Viết

·

349

0

import sys
from collections import deque
sys.stdin = open("input.txt", 'r')
dx = [-1, 0, 1, 0]
dy = [0, 1, 0, -1]
n = int(input())
board = [list(map(int, input().split())) for _ in range(n)]
res = 0
dq = deque()
for h in range(100):
    ch = [[0]*n for _ in range(n)]
    cnt = 0
    for i in range(n):
        for j in range(n):
            if board[i][j] > h:
                dq.append((i, j))
                ch[i][j] = 1
                while dq:
                    tmp = dq.popleft()
                    for k in range(4):
                        x = tmp[0]+dx[k]
                        y = tmp[1]+dy[k]
                        if 0 <= x < n and 0 <= y < n and ch[x][y] == 0 and board[x][y] > h:
                            ch[x][y] = 1
                            dq.append((x, y))
                cnt += 1
    res = max(res, cnt)
    if cnt == 0:
        break
print(res)
코테 준비 같이 해요! python

Câu trả lời 2

0

아래 코드 추가하면 될 것 같은데요?

ch[i][j]==0:
for h in range(100):
    ch = [[0]*n for _ in range(n)]
    cnt = 0
    for i in range(n):
        for j in range(n):
            if board[i][j] > h and ch[i][j]==0:

0

codingcamp님의 프로필 이미지
codingcamp
Người chia sẻ kiến thức

안녕하세요^^

제가 드린 정답코드와 본인 코드를 비교하면서 디버그 해보세요. 스스로 찾는게 공부죠.

Hình ảnh hồ sơ của kingaser0927
kingaser0927

câu hỏi đã được viết

Đặt câu hỏi