import sys
def dfs(x, y, ans, num):
global Min
if num == n:
if Min > ans:
Min = ans
return
for i in range(n):
if vis[i]:
continue
if ans >= Min:
return
vis[i] = True
dfs(ll[i][0], ll[i][1], ans + abs(x - ll[i][0]) + abs(y - ll[i][1]), num + 1)
vis[i] = False
X, Y = map(int, sys.stdin.readline().strip().split())
n = int(sys.stdin.readline().strip())
ll = [tuple(map(int, sys.stdin.readline().strip().split())) for _ in range(n)]
vis = [False] * n
Min = float('inf')
dfs(X, Y, 0, 0)
print(Min)
py太慢了,必须剪枝才能过(测试点3非剪枝8s剪枝0.16s)