uva216-枚举-简单题
题意:n个计算机通过电缆连接,怎么连接使用的电缆最少
mmp,死wa不过,memset(vis,0,sizeof(per)),太不小心了
#include <iostream>
#include <memory.h>
#include <stdio.h>
#include<math.h>
using namespace std; struct Node
{
int x;
int y;
Node()
{
x = ;
y = ;
}
};
const int N = ;
Node per[N];
int res[N];
int n;
double final = 0x7FFFFFFF;
int vis[N];
double px(Node* n1, Node* n2)
{
return sqrt(
0.0 + (n1->x - n2->x) * (n1->x - n2->x)
+ (n1->y - n2->y) * (n1->y - n2->y)) + 16.00;
} void dfs(int a[], int cur)
{
if (cur == n)
{
double sum = ;
for (int i = ; i < n - ; i++)
sum += px(per + a[i], per + a[i + ]);
if (sum < final)
{
final = sum;
memcpy(res, a, sizeof(res));
}
return;
}
for (int i = ; i < n; i++)
{
if (vis[i])
continue;
vis[i] = ;
a[cur] = i;
dfs(a, cur + );
vis[i] = ;
}
}
int main()
{
//freopen("d:\\1.txt", "r", stdin);
int t = ;
while (cin >> n && n)
{
memset(per, , sizeof(per));
memset(vis, , sizeof(vis));
memset(res,,sizeof(res));
final = 0x7FFFFFFF;
int s, e;
for (int i = ; i < n; i++)
{
cin >> s >> e;
Node p;
p.x = s;
p.y = e;
per[i] = p;
}
int a[N];
dfs(a, );
cout << "**********************************************************"
<< endl;
cout << "Network #" << t << endl;
for (int i = ; i < n - ; i++)
{
double tt = px(per + res[i], per + res[i + ]);
printf(
"Cable requirement to connect (%d,%d) to (%d,%d) is %.2lf feet.\n",
per[res[i]].x, per[res[i]].y, per[res[i + ]].x,
per[res[i + ]].y, tt);
}
printf("Number of feet of cable required is %.2f.\n", final);
t++;
} return ;
}
uva216-枚举-简单题的更多相关文章
- 【BZOJ-1176&2683】Mokia&简单题 CDQ分治
1176: [Balkan2007]Mokia Time Limit: 30 Sec Memory Limit: 162 MBSubmit: 1854 Solved: 821[Submit][St ...
- 洛谷 P5057 [CQOI2006]简单题 题解
P5057 [CQOI2006]简单题 题目描述 有一个 n 个元素的数组,每个元素初始均为 0.有 m 条指令,要么让其中一段连续序列数字反转--0 变 1,1 变 0(操作 1),要么询问某个元素 ...
- BZOJ 2683: 简单题
2683: 简单题 Time Limit: 50 Sec Memory Limit: 128 MBSubmit: 913 Solved: 379[Submit][Status][Discuss] ...
- Bzoj4066 简单题
Time Limit: 50 Sec Memory Limit: 20 MBSubmit: 2185 Solved: 581 Description 你有一个N*N的棋盘,每个格子内有一个整数,初 ...
- Bzoj2683 简单题
Time Limit: 50 Sec Memory Limit: 128 MBSubmit: 1071 Solved: 428 Description 你有一个N*N的棋盘,每个格子内有一个整数, ...
- 这样leetcode简单题都更完了
这样leetcode简单题都更完了,作为水题王的我开始要更新leetcode中等题和难题了,有些挖了很久的坑也将在在这个阶段一一揭晓,接下来的算法性更强,我就要开始分专题更新题目,而不是再以我的A题顺 ...
- [BZOJ2683][BZOJ4066]简单题
[BZOJ2683][BZOJ4066]简单题 试题描述 你有一个N*N的棋盘,每个格子内有一个整数,初始时的时候全部为0,现在需要维护两种操作: 命令 参数限制 内容 1 x y A 1<=x ...
- HDU 1753 大明A+B(字符串模拟,简单题)
简单题,但要考虑一些细节: 前导0不要,后导0不要,小数长度不一样时,有进位时,逆置处理输出 然后处理起来就比较麻烦了. 题目链接 我的代码纯模拟,把小数点前后分开来处理,写的很繁杂,纯当纪念——可怜 ...
- 团体程序设计天梯赛-练习集L1-014. 简单题
L1-014. 简单题 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 陈越 这次真的没骗你 —— 这道超级简单的题目没有任何输入. ...
- poj1873 The Fortified Forest 凸包+枚举 水题
/* poj1873 The Fortified Forest 凸包+枚举 水题 用小树林的木头给小树林围一个围墙 每棵树都有价值 求消耗价值最低的做法,输出被砍伐的树的编号和剩余的木料 若砍伐价值相 ...
随机推荐
- BT601. BT709色彩空间
参考:http://blog.csdn.net/mao0514/article/details/16958873
- hasura graphql-engine v1.0.0-alpha26 版本新功能
hasura 发布了graphql-engine v1.0.0-alpha26 版本,有一些破坏的变动,以及方便的新特性 破坏性变动 order_by 从 order_by: id_asc 为 ord ...
- adnanh webhook 框架request values 说明
request values 在adnanh webhook 是比较重要的,规则触发以及命令参数传递都是通过它 支持的request values 类似 http header 查询参数 play ...
- HBase的BlockCache
BlockCache 首先要明白Block,在HBase里面存储的最小单元:在memstore向硬盘刷的时候,如果目标block的大小+size之后大于MAX_SIZE,将会新创建一个block来存储 ...
- MySql数据库中敏感字段加密处理方案
比如数据表中有一个手机号码字段是敏感字段,不想明文存储,可以是用MySQL的自带的函数处理 Table 12.17 Encryption Functions Name Description AES_ ...
- 【Android】Android版本和API Level对应关系
API Level Notes Android 4.4 19 KITKAT Platform Highlights Android 4.3 18 JELLY_BEAN_MR2 Platform Hig ...
- innotop监控mysql
InnoTop 是一个系统活动报告,类似于Linux性能工具,它与Linux的top命令相仿,并参考mytop工具而设计. 它专门用后监控InnoDB性能和MySQL服务器.主要用于监控事务,死锁,外 ...
- asp.net如何使用cookie(创建、保存、读取)
Cookie的用法也和ASP中差不多.比如我们建立一个名为aspcn,值为大众的cookie HttpCookie cookie = new HttpCookie("aspcn") ...
- linux $* $@ 特定位置参数
举例说:脚本名称叫test.sh 入参三个: 1 2 3运行test.sh 1 2 3后$*为"1 2 3"(一起被引号包住)$@为"1" "2&qu ...
- 远程连接linux服务器mysql
今天遇到一个问题 无法远程链接mysql Host 'XXX' is not allowed to connect to this MySQL server 解决方案/如何开启MySQ先解决第一个提 ...