๋ฌธ์
https://www.acmicpc.net/problem/1743
ํ์ด
# ๋ฐฑ์ค 1743๋ฒ ๋ฌธ์ - ์์๋ฌผ ํผํ๊ธฐ
from collections import deque
dx, dy = [0,0,-1,1], [1,-1,0,0]
n, m, k = map(int, input().split())
graph = [[0]*m for _ in range(n)]
for _ in range(k):
a, b = map(int, input().split())
graph[a-1][b-1] = 1
def bfs(x, y):
q = deque()
q.append((x,y))
visited[x][y] = 1
global cnt
cnt = 1
while q:
x,y = q.popleft()
for i in range(4):
nx = x + dx[i]
ny = y + dy[i]
if 0 <= nx < n and 0 <= ny < m and not visited[nx][ny] and graph[nx][ny] == 1:
visited[nx][ny] = 1
cnt += 1
q.append((nx, ny))
return cnt
res = []
visited = [[0]*m for _ in range(n)]
for i in range(n):
for j in range(m):
if graph[i][j] == 1:
cnt = 0
res.append(bfs(i,j))
print(max(res))
BFS๋ฅผ ํตํด ์ฝ๊ฒ ํด๊ฒฐ ํ ์ ์๋ ๋ฌธ์ ์๋ค. ๋ค๋ง ์ธ๋ฑ์ค๋ฅผ ์กฐ์ฌํด์ผ ํ๋ค.
'๐๏ธ Algorithm > ๐ฉ ๋ฐฑ์ค' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๐ฉ [๋ฐฑ์ค] [Python] [Class5] 2467๋ฒ_์ฉ์ก (0) | 2022.12.08 |
---|---|
๐ฉ [๋ฐฑ์ค] [Python] 3184๋ฒ_์ (0) | 2022.12.07 |
๐ฉ [๋ฐฑ์ค] [Python] 9465๋ฒ_์คํฐ์ปค (0) | 2022.12.02 |
๐ฉ [๋ฐฑ์ค] [Python] 11052๋ฒ_์นด๋ ๊ตฌ๋งคํ๊ธฐ 2 (1) | 2022.12.02 |
๐ฉ [๋ฐฑ์ค] [Python] 17086๋ฒ_์๊ธฐ ์์ด 2 (0) | 2022.12.02 |