题目描述
房间里放着n块奶酪。一只小老鼠要把它们都吃掉,问至少要跑多少距离?老鼠一开始在(0,0)点处。
输入
第一行一个数n (n<=15)
接下来每行2个实数,表示第i块奶酪的坐标。
两点之间的距离公式=sqrt((x1-x2)(x1-x2)+(y1-y2)(y1-y2))
输出
一个数,表示要跑的最少距离,保留2位小数。
样例输入
4
1 1
1 -1
-1 1
-1 -1
样例输出
7.41
题解:
先用函数算出欧拉距离,再dfs回溯,vis数组标记走过的点,
再进行一个剪枝
代码:
#include <bits/stdc++.h>
#include <iostream>
#include <algorithm>
#include <cstdlib>
#include <cstring>
#include <cstdio>
#include <string>
#include <vector>
#include <bitset>
#include <queue>
#include <deque>
#include <stack>
#include <cmath>
#in