洛谷 P1433 吃乳酪

2021-07-26 06:43:26 字數 1098 閱讀 8686

題目描述

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

輸入輸出格式

輸入格式:

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

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

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

輸出格式:

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

輸入輸出樣例

輸入樣例#1:

4 1 1

1 -1

-1 1

-1 -1

輸出樣例#1:

7.41

分析:

很明顯的暴力啦,n才那麼點。

注意:讀入的座標可以為浮點數,否則只有80分。。

**:

var

x,y:array[0..101] of extended;

f:array[0..101] of boolean;

max:real;

n,i:longint;

procedure

ss(t:longint;sum:extended;x1,y1:real);

var i:longint;

begin

if sum>max then

exit;

if t=n then max:=sum else

for i:=1

to n do

ifnot f[i] then

begin

f[i]:=true;

ss(t+1,sum+sqrt(sqr(x1-x[i])+sqr(y1-y[i])),x[i],y[i]);

f[i]:=false;

end;

end;

begin

readln(n);

for i:=1

to n do

readln(x[i],y[i]);

max:=maxlongint;

ss(0,0,0,0);

writeln(max:0:2);

end.

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

洛谷P1433 吃乳酪

房間裡放著n塊乳酪。乙隻小老鼠要把它們都吃掉,問至少要跑多少距離?老鼠一開始在 0,0 點處。輸入格式 第一行乙個數n n 15 接下來每行2個實數,表示第i塊乳酪的座標。兩點之間的距離公式 sqrt x1 x2 x1 x2 y1 y2 y1 y2 輸出格式 乙個數,表示要跑的最少距離,保留2位小數...