문제출처 : https://www.acmicpc.net/problem/9205


1. 문제요약

- 집에서 편의점을 거져 목적지에 도달할 수 있는가?

- 1000m 이내의 다음 정점만 움직일 수 있음(맥주 20개, 개당 50m)

- 0 <= 편의점 개수, n <= 100

- -32768 <= 좌표 x, y <= 32767


2. 접근방법

- 경로가 있는지 찾는 문제 => 플로이드, 다익스트라

- 모든 정점을 다 방문해도 VE 이므로 시간 내에 들어올 것 같음 => bfs, dfs


※ 정점간 순서가 중요한 문제 : 위상정렬

   정점간 사이클이 중요한 문제 : 오일러 서킷


3. 시간복잡도

- 플로이드 워셜 : N^3

- bfs, dfs : N^2

  (한 정점당 다음 정점으로 가기 위해 살펴봐야 될 정점의 갯수 N * 정점의 갯수 N = N^2)

  (한 정점에서 간선의 수가 100개라고 한다면 총 간선의 수 100 * 100, VE는 최대 100 * 100 * 100)

  이 되겠지..? 여기선 간선의 수를 알 수 없으니


4. 회고

- 편의점간 1000m로

- bfs를 풀때 find를 왜넣었지 필요없네



소스코드 : 플로이드 워셜


소스코드 : bfs


소스코드 : dfs



[출처 : BOJ, 문제에 대한 모든 권리는 BOJ(acmicpc.net, startlink)에 있음]

'먹고살려면 > boj' 카테고리의 다른 글

BOJ 2573 빙산  (1) 2018.01.05
BOJ 1389 케빈 베이컨의 6단계 법칙  (0) 2018.01.04
BOJ 1325 효율적인 해킹  (0) 2017.12.27
BOJ 2667 단지번호붙이기  (0) 2017.12.27
BOJ 10448 유레카 이론  (0) 2017.12.26

+ Recent posts