吃奶酪
来源:互联网 发布:淘宝贷款还款入口 编辑:程序博客网 时间:2024/04/27 19:41
题目描述
房间里放着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:
房间里放着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
#include<cstdio>#include<iostream>#include<cmath>using namespace std;int visit[16]; double min1=(1<<31)-1; int n; struct stu { double x; double y; }a[16];void dfs(int nowp, double now1 ,int step)//now当前节点,past已经走过的路程 ,step走过的步数 {if(step==n+1&&now1<min1) min1=now1; if(now1>min1)return ;for(int i=1;i<=n;i++){if(visit[i]==0){visit[i]=1;//标记这个东西已经被吃过 dfs(i,now1+sqrt((a[nowp].x-a[i].x)*(a[nowp].x-a[i].x)+(a[nowp].y-a[i].y)*(a[nowp].y-a[i].y)),step+1);visit[i]=0;} } }int main(){cin>>n;for(int i=1;i<=n;i++){ scanf("%lf%lf",&a[i].y,&a[i].x); } dfs(0,0,1); printf("%.2lf",min1); return 0;}
0 0
- 吃奶酪
- 老鼠吃奶酪。
- 老鼠吃奶酪
- 【luogu】 P1433 吃奶酪
- P1433 吃奶酪
- 洛谷 P1433 吃奶酪
- 洛谷P1433 吃奶酪
- P1433 吃奶酪
- P1433 吃奶酪
- |洛谷|DFS|P1433 吃奶酪
- 洛谷 P1433 吃奶酪 (dfs)
- 洛谷P1433 吃奶酪(dfs)
- 【搜索】洛谷 P1433 吃奶酪
- 洛谷 1433_吃奶酪_dfs
- 洛谷 1433 吃奶酪 dfs+剪枝
- 奶酪
- 奶酪
- HDU 1078 FatMouse and Cheese (老鼠吃奶酪)
- 备忘录模式
- 通过GitHub下载Spring源码
- c++的bitset
- 线性代数mooc课(二)
- 通过js控制页面元素的响应式布局
- 吃奶酪
- 风险度量 蓝桥
- andorid ndk开发遇到的问题
- Nginx+Tomcat集群 + Session共享
- iOS ScrollView 下拉放大图片,上滑覆盖图片实现方法(Swift 3.0)
- AVL树
- Python图形界面
- windows下 安装 redis
- Spring 配置多数据源解决方案