房間裡放著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
狀壓dp ,然而我沒寫,更沒學。。。
於是 dfs+剪枝,竟然過了。。。
附**:
#include#include#include#include#define maxn 20
using namespace std;
int n,m;
double ans=999999999,path[maxn][maxn];
bool vis[maxn];
struct nodeg[maxn];
inline int read()
while(c>='0'&&c<='9')
return date*w;
}void dfs(int x,int y,double s)
for(int i=1;i<=n;i++)
if(!vis[i])
}int main()
g[0].x=g[0].y=0;
for(int i=1;i<=n;i++){
scanf("%lf%lf",&g[i].x,&g[i].y);
vis[i]=false;
for(int j=0;j
洛谷 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位小數...