백준 - DFS와 BFS(#1260)
from collections import deque
import sys
input = sys.stdin.readline
N,M,V = map(int,input().split())
graph = [[] for _ in range(N+1)]
for i in range(M):
a,b=map(int,input().split())
graph[a].append(b)
graph[b].append(a)
for i in graph:
i.sort()
visited = [False]*(N+1)
DFSvisits = [V]
def dfs(v):
for i in graph[v]:
if not visited[i]:
visited[i]=True
DFSvisits.append(i)
dfs(i)
visited[V]=True
dfs(V)
visited = [False]*(N+1)
BFSvisits = [V]
def bfs(v):
queue = deque([v])
while queue:
node = queue.popleft()
for i in graph[node]:
if not visited[i]:
visited[i]=True
BFSvisits.append(i)
queue.append(i)
visited[V]=True
bfs(V)
print(*DFSvisits)
print(*BFSvisits)
- 백준 - 섬의 개수(#4963)
- 백준 - 치즈(#2638)
- 백준 - 점프 점프(#11060)
- 백준 - 나무 자르기(#2805)
- 백준 - 회의실 배정(#1931)
- 백준 - 단지번호붙이기(#2667)
- 백준 - 미로 탐색(#2178)
- 백준 - DFS와 BFS(#1260)
- 백준 - 가장 긴 증가하는 부분 수열(#11053)
- 백준 - 계단 오르기(#2579)
- 백준 - 유기농 배추(#1012)
- 백준 - 평범한 배낭(#12865)
- 소프티어 - 조립라인
- 소프티어 - 슈퍼컴퓨터 클러스터
- 프로그래머스 - 타겟넘버
- 프로그래머스 - 네트워크
- 프로그래머스 - 단속카메라
- 프로그래머스 - 올바른 괄호
- 프로그래머스 - 튜플
- 프로그래머스 - 여행 경로
- 프로그래머스 - 구명보트
- 프로그래머스 - 주차 요금 계산
- 프로그래머스 - 짝지어 제거하기
- 프로그래머스 - 예상 대진표
- 프로그래머스 - 멀리 뛰기
- 프로그래머스 - 단어 변환
- 프로그래머스 - 더 맵게
- 프로그래머스 - 기능 개발
- 프로그래머스 - 전화번호 목록
- 프로그래머스 - 베스트앨범
- 프로그래머스 - 위장
- 프로그래머스 - 전력망을 둘로 나누기
- 프로그래머스 - 모의고사
- 프로그래머스 - 야근 지수
- 프로그래머스 - 같은 숫자는 싫어
- 프로그래머스 - 소수 찾기
- 프로그래머스 - 프린터
- 프로그래머스 - 주식 가격
- 프로그래머스 - 다리 위를 지나는 트럭
- 프로그래머스 - 이중우선순위큐