B23 - Traveling Salesman Problem
https://atcoder.jp/contests/tessoku-book/tasks/tessoku_book_cv
提出
code: python
n = int(input())
xy = list(map(int, input().split())) for _ in range(n)
print(xy)
# dpij :=
解答
code: python
n = int(input())
xy = list(map(int, input().split())) for _ in range(n)
# dp通った都市の集合今いる都市
dp = [ 1000000000.0 * n for _ in range(2 ** n) ]
dp00 = 0
for i in range(2 ** n):
for j in range(n):
if dpij < 1000000000.0:
# 都市 j から k に移動したい
for k in range(n):
if (i // (2 ** k)) % 2 == 0:
xj, xk, yj, yk = xyj0, xyk0, xyj1, xyk1
dist = ((1.0*(xj-xk)*(xj-xk) + 1.0*(yj-yk)*(yj-yk)) ** 0.5)
dpi + (2 ** k)k = min(dpi + (2 ** k)k, dpij + dist)
print(dp(2**n) - 10)