그래프에서 깊이를 우선적으로 탐색하는 알고리즘을 DFS 즉, 깊이우선탐색이라고 부른다. 그래프는 노드(node 또는 vertex)와 간선(edge)으로 이루어진 자료구조이며, DFS는 그래프에서 한 노드를 시작점으로 모든 노드를 탐색하는 알고리즘 중 하나이다.깊이 우선
https://www.acmicpc.net/problem/2178
BFS & DFS미로의 시작 인덱스를 큐에 넣는다.큐에서 현재 위치 좌표를 빼고, 방문 처리를 한다.현재 위치에서 갈 수 있는 다음 위치의 좌표를 큐에 넣고, 다음 위치를 방문처리한다.다음 위치의 값을 현재 위치 값+1로 초기화한다.큐가 빌 때까지 진행한다.(문제에서
DP최적의 연속합에 현재 인덱스 값을 더한 값과 현재 인덱스 값을 비교한다.전자값이 더 크다면 값을 업데이트한다.매번 연속합이 구해질때마다 answer를 업데이트한다.
DP자기보다 1작은 값일 때의 연산횟수보다 1만큼 큰 값으로 초기화한다.만약 자신이 3으로 나눠진다면, 3으로 나눈 값일 때의 연산횟수와 1번 과정에서의 값을 비교한다.만약 자신이 2로 나눠진다면, 2로 나눈 값일 때의 연산횟수와 2번 과정에서의 값을 비교한다.
DP마지막 집이 Red로 칠해진 경우, 이전 집이 Green, Blue로 칠해진 경우 중 최적값과 마지막 집의 red값을 더한 값으로 저장한다.마지막 집이 Green로 칠해진 경우, 이전 집이 Red, Blue로 칠해진 경우 중 최적값과 마지막 집의 red값을 더한 값
BFS처음 상태의 판에서 치즈 개수를 구한다.테두리를 녹이기 전 상태에서 치즈 수를 구한다.테두리 치즈부터 BFS를 수행한다.테두리를 녹이고 한시간을 증가시킨다.더 이상 녹일 치즈가 없을 때까지 반복한다.
BFS금융 IT님 티스토리모든 좌표에서 원숭이의 이동횟수를 완전탐색한다.최단 거리를 구해야하므로 BFS를 적용한다.말처럼 이동한 횟수를 고려해야하므로 3차원 visited 배열을 이용한다.
플로이드 워셜집, 편의점, 목적지 좌표를 입력받고, 모든 장소끼리의 거리를 구한다거리가 50\*20 이내인 경우를 제외하고 INF값으로 초기화한다.플로이드 워셜 알고리즘을 적용해 각 장소끼리의 거리를 최소값으로 업데이트 한다.만약 집에서 목적지까지의 길이가 0이상 IN
KMPKMP 알고리즘을 그대로 적용시켜 풀면 된다
BFS, 시뮬레이션일단... 시뮬레이션 문제 중에 쉬운 편에 속한다고 볼 수 있다. 문제에 제시된 순서대로, 낚시꾼을 열의 처음부터 끝까지 이동시켜가면서 상어를 잡고, 상어들을 주어진 조건대로 이동시키는 것을 반복하면 된다. 항상 문제를 보고 그림이 조금이라도 복잡해보
시뮬레이션우선 문제를 제대로 이해해야 풀 수 있는 문제이다. stage를 1증가시킨다.벨트와 로봇을 모두 회전시킨다.로봇을 이동시킨다. 2-1. '내리는 위치'에 로봇이 있다면, 즉시 로봇을 내린다(로봇을 내린다는 의미는 다음 인덱스로 보낸다는 뜻이 아니라, 벨트 위에
DFS알고리즘 스터디 중, 스터디원이 푼 방식이 되게 괜찮은 방식이어서 이 방법대로 풀어보았다..먼저 파이프 타입별로 갈 수 있는 모든 방향으로 이동시켜본다만약 파이프가 있는 이동하려는 방향에 벽이 있다면, 그 경우는 더 이상 진행하지 않는다.파이프가 특정 방향(우,