IOI 2008 day1 2- 섬순회(Islands) > 문제은행 : 정보올림피아드&알고리즘




1569 : 섬순회(Islands)

제한시간
2000 ms   
메모리제한
128 MB   
해결횟수
6 회   
시도횟수
32 회   

문제

당신은 N개의 섬으로 구성된 한 공원을 방문하고 있다. 

모든 섬에는 어느 섬으로든 이어진 다리가 정확하게 하나씩 있다. 

i째 섬에서 외부로 나가는 다리의 길이를 Li라고 하자. 

따라서 공원에는 N개의 다리가 존재하는 셈이다. 

물론 다리는 양방향으로 모두 통행 가능하다. 

그에 덧붙여 페리도 왕복 운행을 하고 있기 때문에 아무 섬에서 아무 섬으로나 원하는 대로 이용할 수 있다.

하지만 당신은 페리를 타는 것보다 걷는 것을 더 좋아한다.

그렇기 때문에 공원을 순회하면서 다리를 따라 걷는 거리를 최대화하되, 아래의 조건을 만족하고 싶어한다.

 

● 순회의 시작은 당신이 원하는 아무 섬에서나 하면 된다.
● 들른 적이 있는 섬을 또 거쳐서는 안 된다.
● 당신이 S라는 섬에 있고 예전에 들른 적이 없는 D라는 섬이 있다면, S에서 D까지는 아래의 둘 중 한 방법으로 아무 때에나 이동 가능하다. 


― 도보: 두 섬이 다리로 연결되어 있어야만 이 방법이 가능하다. 

   다리를 이용하면 당신이 걸은 전체 거리에 다리의 길이가 더해진다.
― 페리: S에서 D까지 기존 다리와 예전에 이용한 적이 있는 페리 운항 경로를 조합해서는 도달할 수 없을 때만 이용 가능하다. 

  (섬과 섬 사이의 도달 가능성을 판별할 때는, 내가 이미 도달한 적이 있어서 더는 되돌아갈 수 없는 섬을 통과하는 경로까지 모두 감안해야 한다.)

 

모든 섬들을 하나도 빠짐없이 들러야 할 필요는 없다. 

또한 공원에 존재하는 다리를 전부 거치는 것이 불가능할 수도 있다.

N개의 다리의 위상 정보와 길이를 입력 받아, 

위의 규칙대로 공원을 순회하면서 다리들을 이용해 걸을 수 있는 가장 긴 거리를 구하는 프로그램을 작성하시오.

 

[예제 설명]

예제로 제시되어 있는 N=7 공원은  아래 그림과 같이

(1-3), (2-7), (3-4), (4-1), (5-1), (6-3), (7-2)와 같은 형태로 섬들이 다리로 연결되어 있다. 

2번 섬과 7번 섬은 다리가 두 개 존재함을 주목하기 바란다.

 


 

 

도보 경로를 가장 길게 확보하려면 섬을 다음과 같이 순회하면 된다.

 

5번 섬에서 출발한다. 

길이가 9인 다리를 이용해 1번 섬으로 간다. 

길이가 8인 다리를 이용해 3번 섬으로 간다. 

길이가 4인 다리를 이용해 6번 섬으로 간다. 

6번 섬에서 7번 섬까지는 페리를 이용한다. 

길이가 3인 다리를 이용해 2번 섬으로 간다. 

순회는 2번 섬에서 끝나며 이때 당신이 걸은 총 거리는 9+8+4+3=24이다.

 

한 번도 들르지 않은 유일한 섬은 4번 섬이다. 하지만 이제는 거기에 갈 수 없다. 

왜냐 하면 2번 섬과 4번 섬은 직통으로 연결하는 다리가 없이 고립되어 있어서 일단 도보로 갈 수 없으며, 

위의 규칙대로라면 페리도 이용할 수 없기 때문이다. 

이미 페리를 이용한 구간인 (6-7)까지 감안하면 2번 섬과 4번 섬은 이제 연결된 것으로 간주되기 때문이다. 

(다리 2-7, 이미 이용한 페리 7-6, 다리 6-3, 다리 3-4로 연결) 

페리는 그런 방법으로 도달할 수 없는 완전히 새로운 곳으로만 이용할 수 있다.​ 

 

 


입력형식

첫째 줄에는 공원에 있는 섬의 수 N이 들어있다. 섬들은 1 이상 N 이하 범위인 번호로 식별한다. (2≤N≤1,000,000)

다음 N 줄에는 다리에 대한 정보가 있다. i째 줄에는 i째 섬에 달려 있는 다리가 연결하는 다른 섬의 번호와 이 다리의 길이 Li가 순서대로 공백 사이에 들어있다. 자기 자신을 가리키는 다리는 없으며 다리의 시작점과 끝점은 항상 서로 다르다. (1≤Li≤100,000,000)


출력형식

걸을 수 있는 최장거리를 나타내는 정수 하나를 출력하면 된다.

테스트 케이스 중 일부는 출력하는 답이 32비트 정수의 범위를 벗어날 수도 있다.


입력 예

7 
3 8 
7 2 
4 2 
1 4 
1 9 
3 4 
2 3

출력 예

24


graph, list, bfs, dp, deque

경기도 안양시 동안구 평촌대로 109 협성골드프라자 601호

TEL : 031-360-4144 FAX : 031-388-0996 E-mail : hancomc@hotmail.com, comkiwer@naver.com

Copyrightⓒ 2010 jungol. All right reserved.

TOP