프로그램 명: canadian_tour
제한시간: 1 초

당신은 항공사가 후원하는 어떤 경연대회에서 우승을 차지했다. 그래서 상으로 캐나다 곳곳을 여행할 수 있는 비행기 표를 받았다.

단, 이 표로 여행을 하는데는 몇가지 규칙이 있다.

여행하는 동안 다른 항공편이나 다른 교통 수단을 이용해서는 안된다.

항공로에 든 도시와 , 비행기 직선 코스로 가는 두 도시의 목록이 있을 때 , 위의 조건을 만족하면서 가장 많은 도시를 방문할 수 있게 여행 일정을 잡는 프로그램을 작성하라. 목록에 있는 첫 번째 도시에서 출발하여, 목록의 맨 끝에 있는 도시를 반드시 거친 뒤 출발지로 되돌아 올수 있어야 한다.

입력

출력

여행 일정에 잡힌 도시의 최대 개수 M 을 출력한다. 조건을 만족하는 일정을 짤 수 없다면 1 을 출력한다.

입출력 예

입력

8 9
Vancouver
Yellowknife
Edmonton
Calgary
Winnipeg
Toronto
Montreal
Halifax
Vancouver Edmonton
Vancouver Calgary
Calgary Winnipeg
Winnipeg Toronto
Toronto Halifax
Montreal Halifax
Edmonton Montreal
Edmonton Yellowknife
Edmonton Calgary

출력 

7

입력

5 5
C1
C2
C3
C4
C5
C5 C4
C2 C3
C3 C1
C4 C1
C5 C2

출력 

1

입출력 보충

첫 번째 입력 예에서 방문하는 도시
Vancouver
Edmonton
Montreal
Halifax-- 반환점 
Toronto 
Winnipeg
Calgary
Vancouver
출처:ioi

[질/답] [제출 현황] [푼 후(0)]
[ 채 점 ] [홈으로]  [뒤 로]