최단 경로 알고리즘-python3

박우영·2023년 1월 5일
0

문제 1)

입력)

출력)

첫째 줄에 도시 c에서 보낸 메시지를 받는 도시의 총 개수와 총 걸리는 시간을 공백으로 출력한다.

입력예시)

3 2 1
1 2 4
1 3 2

출력 예시)

2 4

시간 제한: 1초 / 메모리 제한: 128MB

문제 풀이)


기본 재원값 입력

우선순위 큐를 이용한 다익스트라 알고리즘 실행 하는 함수 입력 및 다익스트라 알고리즘 실행


구해야 하는 c에서 갈수있는 노드 개수와 거리 구하기

문제 2)

입력)

출력)

첫째 줄에 방문 판매원 a가 k번 회사를 거쳐 x 번 회사로 가는 최소 이동시간을 출력한다.
만약 x번 회사에 도달할 수 없다면 -1 을 출력한다.

입력예시)

5 7
1 2
1 3
1 4
2 4
3 4
3 5
4 5
4 5

출력 예시)

3

시간 제한: 1초 / 메모리 제한: 128MB

문제 풀이)



노드가 100개 밖에 안되기때문에 플로이드 워셜 알고리즘을 사용했다. 3중 for문을 통한 a-b 거리와 a-i-b 를 비교하며 a-b까지의 최단거리를 구하면 된다.

0개의 댓글