백준1926(파이썬) - 그림
resilient
·2021. 5. 24. 02:09
728x90
반응형
https://www.acmicpc.net/problem/1926
- 이 문제는 여태까지 풀었던 DFS와 거의 비슷한 문제였다.
- 다만 처리할 때, '그림이 하나도 없는 경우에는 가장 넓은 그림의 넓이는 0이다. ' 를 생각해서 if문을 넣어주면 된다.
import sys
input = sys.stdin.readline
sys.setrecursionlimit(10000000)
n,m = map(int,input().split())
graph = []
dx = [1,-1,0,0]
dy = [0,0,1,-1]
for _ in range(n):
graph.append(list(map(int,input().split())))
def dfs(x,y):
global cnt
cnt += 1
graph[x][y] = 0
for i in range(4):
nx = x + dx[i]
ny = y + dy[i]
if -1<nx<n and -1<ny<m and graph[nx][ny]==1:
dfs(nx,ny)
num_list = []
for i in range(n):
for j in range(m):
if graph[i][j] == 1:
cnt=0
dfs(i,j)
num_list.append(cnt)
if len(num_list)==0:
print(len(num_list))
print(0)
else:
print(len(num_list))
print(max(num_list))
반응형
'자료구조 & 알고리즘 > 백준(Baekjoon)' 카테고리의 다른 글
백준14499(파이썬) - 주사위 굴리기 (0) | 2021.05.25 |
---|---|
백분1874(파이썬) - 스택 수열 (0) | 2021.05.24 |
백준2468(파이썬) - 안전영역 (0) | 2021.05.23 |
백준1946(파이썬) - 신입사원 (0) | 2021.05.22 |
백준2156(파이썬) - 포도주 시식 (0) | 2021.05.22 |