题目描述
PIPI获得了一份藏宝图,上面记载了k个宝物的地点,PIPI想去把他们全部都收集起来。
已知PIPI从(sx,sy)出发,每次只能往上下左右四个方向走一步,当他收集完所有的宝藏还需返回出发地点。
请问,PIPI收集完宝藏并返回出发点所需要走的最短路程是多少?
输入
第一行输入三个正整数sx,sy,k,其中sx,sy<=10^9,k<=10。
接下来k行,每行两个正整数xi,yi(xi,yi<=10^9),表示第i个宝物在(xi,yi)。
输出
输出PIPI收集完宝藏并返回出发点所需要走的最短路程。
样例输入
1 1 4
2 3
5 5
9 4
6 5
样例输出
24
思路:将所有坐标按照先x后y的顺序排序,然后进行全排列,枚举每一种情况时的ans的大小,取最小值
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
ll sx,sy,k;
const ll INF=1e18;
pair<ll,ll> pr[12];
int