RiseOJ는 solved.ac와 제휴 관계가 없습니다. 티어 아이콘 © solved.ac. solved.ac
포럼
COCI00281

Putnik

Unrated 레이팅 미적용
난이도
1s
시간 제한
32MB
메모리 제한
0
맞았습니다!!
0
제출 수
0.0%
정답률
레이팅

의견: 0

설명

\(2^{nd}\) round, November \(9^{th}\), 2013

Chances are that you have probably already heard of the travelling salesman problem. If you have, then
you are aware that it is an \(NP-ha\)rd problem because it lacks an efficient solution. Well, this task is an
uncommon version of the famous problem! Its uncommonness derives from the fact that this version
is, actually, solvable.
The travelling salesman is on a mission to visit N cities, each exactly once. The cities are represented by
numbers 1, 2, ..., N. What we know is the direct flight duration between each pair of cities. The
salesman, being the efficient man that he is, wants to modify the city visiting sequence so that the total
flight duration is the minimum possible.
Alas, all is not so simple. In addition, the salesman has a peculiar condition regarding the sequence. For
each city labeled K must apply: either all cities with labels smaller than K have been visited before the
city labeled K or they will all be visited after the city labeled K. In other words, the situation when one
of such cities is visited before, and the other after is not allowed.
Assist the poor fellow in his ambitious mission and calculate the minimum total flight duration needed
in order to travel to all the cities, starting from whichever and ending in whichever city, visiting every
city exactly once, so that his peculiar request is fulfilled.

제약

In test data worth \(1/3\) of total points, N will be at most 10.
In test data worth \(1/2\) of total points, N will be at most 20.

입력 형식

The first line of input contains the positive integer N (\(2 \le N \le 1500\)), the number of cities.
Each of the following N lines contains N positive integers from the interval [0, 1000]. The number in
B^{th} place in the A^{th} row represents the flight duration between cities A and B; that number is equal to
the A^{th} number in the B^{th} row. When \(A = B\), that number is 0. Otherwise, it is a positive value.

출력 형식

The first and only line of output must contain the required minimum total flight duration.

예제 1
입력
3
0 5 2
5 0 4
2 4 0
출력
7
예제 2
입력
4
0 15 7 8
15 0 16 9
7 16 0 12
8 9 12 0
출력
31
문제 정보

생성자가 기록되지 않았습니다.

출처 COCI 2013/2014 Contest 2

평가 및 의견

Putnik

개요
출제자 난이도 Unrated 레이팅 미적용 의견 0 / 50 공개 집계 (커뮤니티 난이도, 주요 주제, 품질)는 의견이 충분히 모이면 공개됩니다.

Log in to rate problems.

개별 의견

아직 의견이 없습니다. 자격이 된다면 위 양식에서 가장 먼저 평가해 보세요.

풀이 제출

Putnik

게스트로 둘러보고 있습니다. 로그인하면 풀이를 제출하고 진행 상황을 확인할 수 있습니다. 로그인하고 제출하기
공개
C++20 Tab 들여쓰기 · Ctrl+/ 주석 토글 · Enter 자동 들여쓰기
1 1 1 0 공백: 4 · UTF-8