洛谷 1433 吃乳酪

2021-09-23 22:10:51 字數 997 閱讀 9952

題目描述

房間裡放著n塊乳酪。乙隻小老鼠要把它們都吃掉,問至少要跑多少距離?老鼠一開始在(0,0)點處。

輸入輸出格式

輸入格式:

第一行乙個數n (n<=15)

接下來每行2個實數,表示第i塊乳酪的座標。

兩點之間的距離公式=sqrt((x1-x2)(x1-x2)+(y1-y2)(y1-y2))

輸出格式:

乙個數,表示要跑的最少距離,保留2位小數。

輸入輸出樣例

輸入樣例#1:

41 1

1 -1

-1 1

-1 -1

輸出樣例#1:

7.41

解釋:直接狀態壓縮dpdp

dp,設d p[

v][i

]:

dp[v][i]:

dp[v][

i]:表示目前狀態是v

vv且再i

ii點,如果訪問過就在對應位標記1

11,那麼最後結果就是所有位是1

11,列舉訪問點就好了

#include#include#include#includeusing namespace std;

struct node;

node s[20];

int n=0;

double dis(node &a,node &b)

double dp[(1<<15)+10][20];

int main()}}

}}

double ret=99999999999.9;

for(int i=1;i<=n;i++)

printf("%.2f\n",ret);

return 0;

}

洛谷 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位小數...