Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
Tags
- barin tumor
- TripGuard
- 개발
- 알고리즘
- 2085
- 백준
- 34031
- 소프트웨어마에스트로
- Classification
- 7626
- 1인개발
- 24501
- 하이터치☆메모리
- MemoSprint
- 2494
- 외국어이름
- 25977
- Australian Voting
- 25195
- TaskQ
- 홀수 홀릭 호석
- paper
- 숫자 맞추기
- AI
- Fitmong
- God of Mine
- k개 사과 트리 노드만으로 배를 최대로 수확하기
- blobaww
- 소마
- BOJ
Archives
- Today
- Total
iwanabethedev 님의 블로그
[boj 25195] Yes or yes 본문
문제 자체는 bfs만 돌려도 풀리는 문제였습니다.
다만, 문제 설명에서 투어리스트 곰곰이가 여행의 마지막 노드에서 팬클럽 곰곰이를 만나는 경우는, 투어리스트 곰곰이가 성공적으로 여행을 완료한 판정입니다.
이를 주의하면 다른 문제는 없으리라 생각됩니다.
더보기
import sys
from collections import deque
input = sys.stdin.readline
def bfs(V, G):
q = deque([1])
V[1] = 0
while q:
n = q.popleft()
if not G[n]:
return "yes"
for x in G[n]:
if not V[x]:
V[x] = 1
q.append(x)
return "Yes"
def solve():
N, M = map(int, input().split())
G = [[] for _ in range(N+1)]
for _ in range(M):
u, v = map(int, input().split())
G[u].append(v)
S = int(input())
Ss = list(map(int, input().split()))
V = [0] * (N+1)
for s in Ss: V[s] = 1
if V[1]:
print("Yes")
return
print(bfs(V, G))
return
def main():
solve()
return
if __name__ == "__main__":
main()

'알고리즘' 카테고리의 다른 글
| [boj 24501] blobaww (0) | 2026.03.30 |
|---|---|
| [boj 4419] Austrailam Voting (0) | 2026.03.29 |
| [boj 7626] 직사각형 (0) | 2026.03.27 |
| [20164] 홀수 홀릭 호석 (0) | 2026.03.26 |
| [boj 25977] k개 사과 트리 노드만으로 배를 최대로 수확하기 (0) | 2026.03.25 |
