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 凸包+枚举 水题 用小树林的木头给小树林围一个围墙 每棵树都有价值 求消耗价值最低的做法,输出被砍伐的树的编号和剩余的木料 若砍伐价值相 ...
随机推荐
- DoTween用法教程
DoTween用法攻略 本文提供全流程,中文翻译. Chinar 坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) Chinar -- 心分享.心创 ...
- .NET 中什么样的类是可使用 await 异步等待的?
我们已经知道 Task 是可等待的,但是去看看 Task 类的实现,几乎找不到哪个基类.接口或者方法属性能够告诉我们与 await 相关. 而本文将探索什么样的类是可使用 await 异步等待的? D ...
- CTF-练习平台-Misc之 Linux基础1
十四.Linux基础1 下载打开文件,解压后发下是一个没有后缀名的文件,添加后缀名为txt,搜索关键词“KEY”,发现flag Linux???不存在的!
- POJ2311 Cutting Game
题意 Language:Default Cutting Game Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 6007 Acc ...
- 红黑树-算法大神的博客-以及java多线程酷炫的知识
http://www.cnblogs.com/skywang12345/p/3245399.html 解释第5条:从 ->根节点(或者任意个结点)到->所有的末端节点的路径中 ->黑 ...
- win7上搭建Android环境及调试
工欲善其事必先利其器,好记性不如烂笔头.要学习一门新的语言,首先必须得先搭环境,否则没法实践.如果之前按照网上的提示,搭建过环境,而且环境比较复杂的话,我相信隔很长一段时间后,就会忘记,到真正用的时候 ...
- PHP中数组的各种用法
$a = 'false';if($a){ echo '好坑';}输出好坑,得转换成布尔值才行哦. in_array $people = array("Bill", "St ...
- Bloom Filter(布隆过滤器)的概念和原理
Bloom filter 适用范围:可以用来实现数据字典,进行数据的判重,或者集合求交集 基本原理及要点: 对于原理来说很简单,位数组+k个独立hash函数.将hash函数对应的值的位数组置1,查找时 ...
- RabbitMQ之监控
RabbitMQ作为一个工业级的消息中间件,肯定是缺少不了监控的,RabbitMQ提供了WEB版的页面监控(访问地址:http://xxx.xxx.xxx.xxx:15672/,默认端口号是15672 ...
- ResourceBundle介绍
介绍: ResourceBundle类主要作用是读取属性文件,读取属性文件时可以直接指定属性文件的名称(指定名称时不需要文件的后缀),也可以根据Locale所指定的区域码来选取指定的资源文件: Res ...