SlideShare a Scribd company logo
Hemilton Cycle Circuit
Steve Paks
Question
•

•

•
•

문제는 올림피아드 대회가 모두 해외에서 열리는 관계로 비행기 값이 굉장히 많이 들어간다는 것이다. 결국에는 집
으로 다시 돌아와야 하는데, 모든 대회에 1번씩만 참가하고 집으로 돌아오는 경비를 가장 최소화하고 싶다. 도경이
는 이것을 해결하지 못하면, 대회에 참가하기가 어렵게 된다. 대회는 참가하기만 하면 언제든지 알고리즘 문제를 풀
수 있기 때문에 경비를 계산하는 것 이외의 사항은 고려하지 않아도 된다.
입력 형식
첫 줄은 참가하는 대회의 수 N(1≤N≤12)을 입력 받는다. 이때, 출발지(집)는 1번으로 한다.
둘째 줄은 N X N 크기의 대회 개최지와 개최지를 이동하는 항공료(0 ≤ 항공료< 100)가 나온다. 각 항공료는 한 칸
의 공백으로 구분된다. 만약에 개최지에서 개최지로 이동할 수 있는 항공로가 없다면 항공료의 값을 0으로 표시한
다.
출력 형식
집에서 출발하여 전체 대회를 모두 참가하고 돌아올 때, 최소의 항공료를 출력한다.
입력 예

5
0 14 4 10 20
14 0 7 8 7
4 5 0 7 16
11 7 9 0 2
18 7 17 4 0
•

출력 예

30

Hint.
비용 (경로)
10 (1->4)
+ 2 (4->5)
+ 7 (5->2)
+ 7 (2->3)
+ 4 (3->1)
= 30
Algorithm
0

1

2

3

3

4

1

2

3

4

0

4

2

0

0

1

1

2

3

4

0

1

2

3

4

0

1

2

3

4

0

1

2

3

4

0

1

2

3

4

0

1

2

3

4

0

1

2

3

4

0

1

2

3

4

0

1

2

3

4

0

1

2

3

4

0

1

2

3

4

0

1

2

3

4

0

1

2

3

4

0

1

2

3

4

0

1

2

3

4

0

1

2

3

4

0

1

2

3

4

0

1

2

0

1

2

3

4

3

4

0

1

2

3

4

0

1

2

3

4

0

1

2

3

4

0

1

2

3

4

0

1

2

3

4

0

1

2

3

4

0

1

2

3

4

0

1

2

3

4

0

1

2

3

4

0

1

2

3

4

0

1

2

3

4

0

1

2

3

4
Algorithm(Cont’d)
5
0 14 4 10 20
14 0 7 8 7
4 5 0 7 16
11 7 9 0 2
18 7 17 4 0

getMinPath
0 → 1 : 14
+1→2:7
+2→3:7
+3→4:2
+ 4 → 0 : 18
= 48 = MinPath

getMinPath
0 → 1 : 14
+1→2:7
+2→4:7
+4→3:4
+ 3 → 0 : 11
= 43 = MinPath

getMinPath
0 → 1 : 14
+1→3:8
+3→2:7
+ 2 → 4 : 16
+ 4 → 0 : 18
= 63 = DropPath

getMinPath
0 → 1 : 14
+1→3:8
+3→4:2
+ 4 → 2 : 17
+ 2 → 0 : 14
= 55 = DropPath

…
Core methods
• makeAvailableCircuit()
–

가능한 루트를 찾음

• containsSite(int)
–

사이트를 반복해서 방문하는 지 검토

• findMinCircuit()
–
–

모든 사이트를 순회 한 경우
지나 온 경로의 비용을 합하여 가능한 다른 경로에서 발생한 비용과 비교 후 작으면 최소경로로 지정

More Related Content

More from Jonghoon Park

Dynamically linked queues
Dynamically linked queuesDynamically linked queues
Dynamically linked queues
Jonghoon Park
 
Dynamically linked stacks
Dynamically linked stacksDynamically linked stacks
Dynamically linked stacks
Jonghoon Park
 
Singly linked lists
Singly linked listsSingly linked lists
Singly linked lists
Jonghoon Park
 
Maze
MazeMaze
Evaluation expression
Evaluation expressionEvaluation expression
Evaluation expression
Jonghoon Park
 
Min inconmensurable weight
Min inconmensurable weightMin inconmensurable weight
Min inconmensurable weightJonghoon Park
 

More from Jonghoon Park (10)

Dynamically linked queues
Dynamically linked queuesDynamically linked queues
Dynamically linked queues
 
Dynamically linked stacks
Dynamically linked stacksDynamically linked stacks
Dynamically linked stacks
 
Singly linked lists
Singly linked listsSingly linked lists
Singly linked lists
 
Maze
MazeMaze
Maze
 
Evaluation expression
Evaluation expressionEvaluation expression
Evaluation expression
 
Sdoku
SdokuSdoku
Sdoku
 
N queen
N queenN queen
N queen
 
Good numbers
Good numbersGood numbers
Good numbers
 
Min inconmensurable weight
Min inconmensurable weightMin inconmensurable weight
Min inconmensurable weight
 
Garden for princess
Garden for princessGarden for princess
Garden for princess
 

Hemilton cycle circuit