일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 우선순위큐
- 파이썬스럽게
- WebMvcConfigurer
- __name__
- React
- 2667
- Arecode
- Spring
- JWT
- 단지번호붙이기
- addAttribute
- 2606
- BFS
- major gc
- 미로탐색
- dfs
- MSSQL
- SWEA
- 이코테
- 파이썬컨벤션
- 삼성소프트웨어
- 화살표함수
- 미로탈출
- setviewname
- pep8
- 백준
- heapq
- minmax
- 2178
- 음료수얼려먹기
- Today
- Total
목록dfs (2)
하루하루는 성실하게 인생 전체는 되는대로
n ,m, v = map(int, input().split()) #아래 한 줄이 핵심!! 아예 2차원 공간을 미리 구성해놓는다는 것! grp = [[0]*(n+1) for i in range(n+1)] for i in range(m): a, b = map(int, input().split()) #어느 쪽이든 1 표시 (양방향이니까) grp[a][b]=grp[b][a]=1 #방문기록도 표시 visit = [0]*(n+1) def dfs(V): visit[V]=1 print(V, end=' ') for i in range(1, n+1): if visit[i]==0 and grp[V][i]==1: dfs(i) #여기서 for문 빠져나올 필요 없이, 쭉 돌리면 됨 #어차피 숫자 작은 것부터 먼저 시행되게 돼있고..

N, M = map(int, input().split()) graph = [] for i in range (N): graph.append(list(map(int, input()))) # 모든 노드(위치)에 음료수 넣기 => 즉, 음료담을 공간인 0에 음료 얼리기 위해 넣기 result = 0 for n in range(N): for m in range(M): # 현재 위치에서 DFS 돌려서 true가 나오면 값 +1 if dfs(n,m) == True: result += 1 print(result) def dfs(x, y): #주어진 범위 벗어나면 즉시 종료(False 반환) if x=N or y=M: return False #주어진 위치가 빈공간이면 (미방문 노드) if graph[x][y]==0: #..