UVA216Getting in Line
来源:互联网 发布:js 多层嵌套json取值 编辑:程序博客网 时间:2024/06/05 05:55
UVA-216
题意:给出若干个点,只能用一条线连接,求最小费用(?反正是距离+16.0)。
解题思路:深搜暴力枚举第i个连接的点,计算下总和。注意下输出。漏了一个 . 我WA了2次。
/************************************************************************* > File Name: UVA-216.cpp > Author: Narsh > > Created Time: 2016年07月27日 星期三 09时44分53秒 ************************************************************************/#include <iostream>#include <algorithm>#include <cstdio>#include <cstring>#include <cmath>using namespace std;int ans[10],temp[10],n,x[10],y[10];double Min;bool pd[10];void dfs(int now, double dis) { if (now > n) { if (dis < Min) { for (int i = 1; i <= n; i++) ans[i]=temp[i]; Min=dis; } return ; } double T; for (int i = 1; i <= n; i++) if (pd[i]) { pd[i]=false; temp[now]=i; if (now != 1) T = sqrt((x[i]-x[temp[now-1]])*(x[i]-x[temp[now-1]])+(y[i]-y[temp[now-1]])*(y[i]-y[temp[now-1]]))+16.0; else T=0; dfs(now+1,dis+T); pd[i]=true; }}int main() { int num=0; while (scanf("%d",&n) && n) { memset(pd,true,sizeof(pd)); for (int i = 1; i <= n; i++) scanf("%d%d",&x[i],&y[i]); Min=99999999.99; dfs(1,0); printf("**********************************************************\n"); printf("Network #%d\n",++num); for (int i = 1; i < n; i++) { double dis = sqrt((x[ans[i]]-x[ans[i+1]])*(x[ans[i]]-x[ans[i+1]])+(y[ans[i]]-y[ans[i+1]])*(y[ans[i]]-y[ans[i+1]]))+16.0; printf("Cable requirement to connect (%d,%d) to (%d,%d) is %.2lf feet.\n",x[ans[i]],y[ans[i]],x[ans[i+1]],y[ans[i+1]],dis); } printf("Number of feet of cable required is %.2lf.\n",Min); }}
0 0
- UVA216Getting in Line
- 216--Getting in Line
- In a Line
- Waiting in Line
- open in command line
- 216 - Getting in Line
- UVaOJ216---Getting in Line
- UVA216 Getting in Line
- PAT_1014: Waiting in Line
- UVa216 Getting in Line
- UVA216-Getting in Line
- In a Line
- Getting in Line
- 1014. Waiting in Line
- UVA Getting in Line
- Coins in a Line
- 1014.Waiting in Line
- Getting in Line
- 数据库练习
- AJAX简介
- HDU 4596
- print()的作用是什么?
- ZedBoard移植Linux(精简版)及BOA服务器的搭建
- UVA216Getting in Line
- golang积累-记忆闭包
- Eclipse中将Java项目转换成Web项目的方法
- centos lamp 安装
- untiy中的委托与事件
- hdu1198 不一样的搜索水题
- 1005. Spell It Right (20)
- HTML+CSS基础课程(一)
- 上帝慈爱的创造