这道题只是在边上做一些文章。

这道题起点终点可以看成半径为0的洞, 我是直接加入了洞的数组。

边就是两点间的距离减去半径, 如果结果小于0的话, 距离就为0, 距离不能为负

然后我看到n只有100, 范围很小, 虽然这道题只是单源最短路,

但是Floyd代码比较短, 而又不会超时, 所以我就写了Floyd。

#include<cstdio>
#include<algorithm>
#include<vector>
#include<cmath>
#define REP(i, a, b) for(int i = (a); i < (b); i++)
using namespace std; const int MAXN = 112;
struct node
{
int x, y, z, r;
node(int x = 0, int y = 0, int z = 0, int r = 0) : x(x), y(y), z(z), r(r) {};
}hole[MAXN];
double d[MAXN][MAXN]; double dist(int i, int j)
{
double t = sqrt(pow(hole[i].x-hole[j].x, 2) + pow(hole[i].y-hole[j].y, 2) + pow(hole[i].z-hole[j].z, 2));
return max(t - hole[i].r - hole[j].r, 0.0);
} int main()
{
int kase = 0, x, y, z, n;
while(~scanf("%d", &n) && n != -1)
{
n += 2;
REP(i, 0, n)
{
scanf("%d%d%d", &hole[i].x, &hole[i].y, &hole[i].z);
if(i < n - 2) scanf("%d", &hole[i].r);
else hole[i].r = 0;
} REP(i, 0, n)
REP(j, 0, n)
d[i][j] = dist(i, j); REP(k, 0, n)
REP(i, 0, n)
REP(j, 0, n)
d[i][j] = min(d[i][j], d[i][k] + d[k][j]); printf("Cheese %d: Travel time = %d sec\n", ++kase, (int)(d[n-1][n-2] * 10 + 0.5));
} return 0;
}

最新文章

  1. 如何注册微信小程序
  2. iOS中多线程知识总结(二)
  3. 最好用的JQuery插件集合以及组合拳
  4. java:IO流学习小结
  5. iOS开发:保持程序在后台长时间运行
  6. webpack的几个使用方法
  7. Liferay 6.2 改造系列之十一:默认关闭CDN动态资源
  8. ArcGIS 10 SP5中文版(ArcGIS10补丁5中文版)
  9. cell自适应高度
  10. Zepto源码注释
  11. WPF窗体禁用最大化按钮
  12. LA_3263_That_Nice_Euler_Circuits_(欧拉定理+计算几何基础)
  13. vi编辑器经典技巧 -备
  14. ARKit 初体验
  15. 360提供的php防注入代码
  16. JavaScript(第二十一天)【DOM元素尺寸和位置】
  17. GDAL读取的坐标起点在像素左上角还是像素中心?
  18. Delegate &amp; Event
  19. 谈谈mysql的悲观和乐观锁
  20. js和java的参数传递方式实际都是一样的,都是按值传递

热门文章

  1. 如何解决zabbix中自定义监控mysql因密码造成的 Warning
  2. 【codeforces 190C】STL
  3. 【转】 c#中两个DateTimePicker,一个时间设置为0:0:0,另一个设置为23:59:59
  4. Tarjan缩点【模板】
  5. HDU 4325 Contest 3
  6. Intellij idea 自动完成的变量名称首字母变为小写
  7. 协议栈处理中的conntrack HASH查找/Bloom过滤/CACHE查找/大包与小包/分层处理风格
  8. Android socket 使用PrintWriter和BufferedReader发送和接收出现乱码问题解决
  9. selenium的报错信息:selenium.common.exceptions.InvalidSelectorException: Message: invalid selector: Compound class names not permitted
  10. codeforces Looksery Cup 2015 H Degenerate Matrix 二分 注意浮点数陷阱