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 凸包+枚举 水题 用小树林的木头给小树林围一个围墙 每棵树都有价值 求消耗价值最低的做法,输出被砍伐的树的编号和剩余的木料 若砍伐价值相 ...
随机推荐
- CF1083(div1)
A. The Fair Nut and the Best Path 题意:给定有点权,有边权的树,让你选择一条链(也可以是只有一个点),使得点权之和-边权最大. 思路:裸的树形DP,我们用dp[i]表 ...
- LeetCode Single Number I II Python
Single Number Given an array of integers, every element appears twice except for one. Find that sing ...
- $.grep()的用法
grep()方法用于数组元素过滤筛选 grep(array,callback,invert) array:待过滤数组; callback:处理数组中的每个元素,并过滤元素,该函数中包含两个参数,第一个 ...
- GStreamer插件分类
gst-plugins-base一套小而固定的插件,涵盖各种可能类型的elements; 这些在开发系列期间随着核心变化而不断更新.我们相信分销商可以安全地发行这些插件.人们编写插件应该将他们的代码基 ...
- MySQL--限制用户使用资源
在MySQL 5.7及后续版本中,可以按照账号来限制每个账号实际具有的资源限制. 语法: GRANT WITH option, 如: GRANT SELECT ON test.* TO user1@l ...
- MOSFET 线路 12V 无法工作的问题(等待回复)
问题: ˇ星空-北京:5V的时候,MOS管可以关断:12V的时候关不断: 初步判断在 Q4 上,先建议按以下方式测量数据. (Excel 文件) 等待回复. 参考链接:http://blog.51ct ...
- idea中,war 与 war exploded 区别
idea中,war 与 war exploded 区别: war模式:将WEB工程以包的形式上传到服务器 : war exploded模式:将WEB工程以当前文件夹的位置关系上传到服务器:其实访问的是 ...
- jp@gc - Stepping Thread Group 字段说明
1. 安装好插件 参考文档“扩展Jmeter插件获取更多监听器” 2. 添加线程组 右键测试计划->添加->Threads(Users)->jp@gc - Stepping ...
- Spring Cloud 入门 之 Hystrix 篇(四)
原文地址:Spring Cloud 入门 之 Hystrix 篇(四) 博客地址:http://www.extlight.com 一.前言 在微服务应用中,服务存在一定的依赖关系,如果某个目标服务调用 ...
- 【python】os模块常用命令
python编程时,经常和文件.目录打交道,这是就离不了os模块.os模块包含普遍的操作系统功能,与具体的平台无关.以下列举常用的命令 1. os.name()——判断现在正在实用的平台,Window ...