提出 #73798320


ソースコード 拡げる

N = int(input())
pts = [tuple(map(int, input().split())) for _ in range(N)]

pts.append(pts[0])

dp = [[10**20] * (N + 1) for _ in range(1 << (N + 1))]
dp[1][0] = 0

dis = [[0] * (N + 1) for _ in range(N + 1)]
for i in range(N + 1):
    for j in range(i, N + 1):
        x1, y1 = pts[i]
        x2, y2 = pts[j]
        dis[i][j] = dis[j][i] = (x1 - x2) ** 2 + (y1 - y2) ** 2

for i in range(1 << (N + 1)):
    for j in range(N + 1):
        for k in range(N + 1):
            if j != k and i & (1 << j) > 0 and i & (1 << k) > 0:
                dp[i][j] = min(dp[i][j], dp[i & ~(1 << j)][k] + dis[j][k])

print(dp[(1 << (N + 1)) - 1][N])

提出情報

提出日時
問題 E - 配送ルートの最適化
ユーザ daryll
言語 Python (PyPy 3.11-v7.3.20)
得点 433
コード長 660 Byte
結果 AC
実行時間 559 ms
メモリ 145272 KiB

ジャッジ結果

セット名 Sample All
得点 / 配点 0 / 0 433 / 433
結果
AC × 3
AC × 74
セット名 テストケース
Sample sample01.txt, sample02.txt, sample03.txt
All sample01.txt, sample02.txt, sample03.txt, in01.txt, in02.txt, in03.txt, in04.txt, in05.txt, in06.txt, in07.txt, in08.txt, in09.txt, in10.txt, in11.txt, in12.txt, in13.txt, in14.txt, in15.txt, in16.txt, in17.txt, in18.txt, in19.txt, in20.txt, in21.txt, in22.txt, in23.txt, in24.txt, in25.txt, in26.txt, in27.txt, in28.txt, in29.txt, in30.txt, in31.txt, in32.txt, in33.txt, in34.txt, in35.txt, in36.txt, in37.txt, in38.txt, in39.txt, in40.txt, in41.txt, in42.txt, in43.txt, in44.txt, in45.txt, in46.txt, in47.txt, in48.txt, in49.txt, in50.txt, in51.txt, in52.txt, in53.txt, in54.txt, in55.txt, in56.txt, in57.txt, in58.txt, in59.txt, in60.txt, in61.txt, in62.txt, in63.txt, in64.txt, in65.txt, in66.txt, in67.txt, in68.txt, in69.txt, in70.txt, in71.txt
ケース名 結果 実行時間 メモリ
in01.txt AC 59 ms 80068 KiB
in02.txt AC 59 ms 79844 KiB
in03.txt AC 63 ms 87068 KiB
in04.txt AC 76 ms 94804 KiB
in05.txt AC 103 ms 110232 KiB
in06.txt AC 540 ms 144956 KiB
in07.txt AC 523 ms 145156 KiB
in08.txt AC 549 ms 144928 KiB
in09.txt AC 535 ms 144876 KiB
in10.txt AC 537 ms 144536 KiB
in11.txt AC 556 ms 144504 KiB
in12.txt AC 538 ms 144688 KiB
in13.txt AC 541 ms 144912 KiB
in14.txt AC 345 ms 125344 KiB
in15.txt AC 512 ms 144288 KiB
in16.txt AC 58 ms 80156 KiB
in17.txt AC 467 ms 143568 KiB
in18.txt AC 554 ms 145132 KiB
in19.txt AC 549 ms 144584 KiB
in20.txt AC 541 ms 144708 KiB
in21.txt AC 542 ms 144768 KiB
in22.txt AC 545 ms 144340 KiB
in23.txt AC 540 ms 144688 KiB
in24.txt AC 542 ms 144688 KiB
in25.txt AC 81 ms 98036 KiB
in26.txt AC 104 ms 110664 KiB
in27.txt AC 71 ms 91956 KiB
in28.txt AC 77 ms 95100 KiB
in29.txt AC 59 ms 80436 KiB
in30.txt AC 71 ms 91800 KiB
in31.txt AC 77 ms 95104 KiB
in32.txt AC 104 ms 110632 KiB
in33.txt AC 59 ms 80436 KiB
in34.txt AC 76 ms 94760 KiB
in35.txt AC 539 ms 145128 KiB
in36.txt AC 538 ms 145040 KiB
in37.txt AC 72 ms 91968 KiB
in38.txt AC 80 ms 97956 KiB
in39.txt AC 126 ms 112608 KiB
in40.txt AC 172 ms 116508 KiB
in41.txt AC 71 ms 91960 KiB
in42.txt AC 77 ms 95084 KiB
in43.txt AC 544 ms 144504 KiB
in44.txt AC 555 ms 144680 KiB
in45.txt AC 559 ms 144888 KiB
in46.txt AC 541 ms 144720 KiB
in47.txt AC 551 ms 144556 KiB
in48.txt AC 553 ms 144752 KiB
in49.txt AC 539 ms 145272 KiB
in50.txt AC 551 ms 144724 KiB
in51.txt AC 554 ms 144672 KiB
in52.txt AC 64 ms 87104 KiB
in53.txt AC 63 ms 87120 KiB
in54.txt AC 59 ms 79972 KiB
in55.txt AC 59 ms 80020 KiB
in56.txt AC 59 ms 80080 KiB
in57.txt AC 59 ms 80184 KiB
in58.txt AC 59 ms 80344 KiB
in59.txt AC 59 ms 80324 KiB
in60.txt AC 60 ms 80344 KiB
in61.txt AC 59 ms 80224 KiB
in62.txt AC 59 ms 80440 KiB
in63.txt AC 59 ms 80228 KiB
in64.txt AC 481 ms 145040 KiB
in65.txt AC 488 ms 143500 KiB
in66.txt AC 58 ms 79968 KiB
in67.txt AC 59 ms 79872 KiB
in68.txt AC 59 ms 80088 KiB
in69.txt AC 59 ms 80200 KiB
in70.txt AC 548 ms 144672 KiB
in71.txt AC 536 ms 145124 KiB
sample01.txt AC 58 ms 80088 KiB
sample02.txt AC 59 ms 80336 KiB
sample03.txt AC 64 ms 87512 KiB