P1433 吃奶酪 dfs

题目描述

房间里放着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


这个应该算是dfs的基础题,要注意要先预处理,不然dfs过多迭代可能会内存超限

剪枝:如果路径长度和超过了当前最小值,那就舍弃,回到分支点。

开一个数组存储当前节点是否被访问过。

开一个给定长度或者不定长的列表将当前路径上点的标号存储下来。

注意初始化需要设定最小值为100000000000000000.

猜你喜欢

转载自blog.csdn.net/liangjiubujiu/article/details/83040010