미로탐색
https://www.acmicpc.net/problem/2178
풀이
- 빠른길은 BFS로 품
- 모든 가중치가 1이면 최단 거리 알고리즘은 BFS로 품
- BFS는 단계별로 진행됨. 즉 거리별로 진행됨. 거리가 1인곳가고, 거리가 2인곳 가고~
입력값대로 미로 그림
1,1 좌표를 큐에 넣음
큐에서 pop
점 이동
이동한 점 큐에 넣음
거리 계산
3번으로
https://www.acmicpc.net/problem/2178
입력값대로 미로 그림
1,1 좌표를 큐에 넣음
큐에서 pop
점 이동
이동한 점 큐에 넣음
거리 계산
3번으로
https://www.acmicpc.net/problem/11655
+13
-13
https://www.acmicpc.net/problem/4963
d[i][j]
1 | i,j 를 방문 X => d[i][j] = 0 |
방문을 아직 안했고, 아파트가 있으면
1 | dfs탐색으로 상하좌우 조사 |
https://www.acmicpc.net/problem/2667
1 | i,j 를 방문 X => d[i][j] = 0 |
1 | dfs탐색으로 상하좌우 조사 |
https://www.acmicpc.net/problem/9466
https://www.acmicpc.net/problem/10451
check배열, 입력 배열 생성
그래프 그림
dfs에 check배열과 입력 배열 넘김
넘길때마다 ans++ (순열 사이클 찾는 방법)
dfs에서 재귀로 돌림
https://www.acmicpc.net/problem/1707
1 | 모든 간선의 한 끝은 A에, 다른 한 끝은 B에 있음. |
1 | check[i] == 0 : 아직 방문 X |
https://www.acmicpc.net/problem/11724
다음은 1개의 그래프가 2개의 연결 요소(Connected Component)로 이루어져 있는거임
DFS or BFS 로 풀 수 있음
DFS나 BFS의 목적이 모든 정점을 한번 씩 방문하는 것이기 때문에
https://www.acmicpc.net/problem/2225
1 | k개 더해서 합이 n이 되는 경우의 수 |
1 | d[0][k-1] + d[1][k-1] + d[2][k-1] + ... + d[n][k-1] |