房間裡放著n塊乳酪。乙隻小老鼠要把它們都吃掉,問至少要跑多少距離?老鼠一開始在(0,0)點處。
輸入格式:
第一行乙個數n (n<=15)
接下來每行2個實數,表示第i塊乳酪的座標。
兩點之間的距離公式=sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2))
輸出格式:
乙個數,表示要跑的最少距離,保留2位小數。
輸入樣例#1:
複製
41 11 -1
-1 1
-1 -1
輸出樣例#1:
複製
7.41
dfs每乙個點,外加乙個剪枝(當前的長度如果比之前的長度長就跳過)
#include#include#include#includeusing namespace std;
struct node
point[16];
bool vis[16];
int n;
double ans = 0x7fffffff;//初始答案設定為無限大
void dfs(double x,double y,int step,double tmp)
for (int i = 1; i <= n;i++)
if (!vis[i]) }
int main()
洛谷 P1433 吃乳酪
題目描述 房間裡放著n塊乳酪。乙隻小老鼠要把它們都吃掉,問至少要跑多少距離?老鼠一開始在 0,0 點處。輸入輸出格式 輸入格式 第一行乙個數n n 15 接下來每行2個實數,表示第i塊乳酪的座標。兩點之間的距離公式 sqrt x1 x2 x1 x2 y1 y2 y1 y2 輸出格式 乙個數,表示要跑...
洛谷P1433 吃乳酪
房間裡放著n塊乳酪。乙隻小老鼠要把它們都吃掉,問至少要跑多少距離?老鼠一開始在 0,0 點處。輸入格式 第一行乙個數n n 15 接下來每行2個實數,表示第i塊乳酪的座標。兩點之間的距離公式 sqrt x1 x2 x1 x2 y1 y2 y1 y2 輸出格式 乙個數,表示要跑的最少距離,保留2位小數...
洛谷P1433 吃乳酪
房間裡放著n塊乳酪。乙隻小老鼠要把它們都吃掉,問至少要跑多少距離?老鼠一開始在 0,0 點處。輸入格式 第一行乙個數n n 15 接下來每行2個實數,表示第i塊乳酪的座標。兩點之間的距離公式 sqrt x1 x2 x1 x2 y1 y2 y1 y2 輸出格式 乙個數,表示要跑的最少距離,保留2位小數...