zoj1942

zoj1942一开始连题目都没看都就乱写以为是要输出最短路径然后还理解了很久所要输出的距离所走路径的最小边当有直达的边时,如果比其他路线的最大边要小,那就是这个直达边如果比其他路线的最大边要大,那就输出其他路线的最大边的最小边说起来好像很绕。。自己的理解能力还是太差了#include#include#includeusingnamespacestd;double

大家好,又见面了,我是你们的朋友全栈君。

一开始连题目都没看都就乱写
以为是要输出最短路径
然后还理解了很久
所要输出的距离
所走路径的最小边
当有直达的边时,如果比其他路线的最大边要小,那就是这个直达边
如果比其他路线的最大边要大,那就输出其他路线的最大边的最小边
说起来好像很绕。。
自己的理解能力还是太差了
#include<iostream>
#include<math.h>
#include<stdio.h>
using namespace std;
double d[201][201];  //从1开始
void countD(int n);
void output(int n);
double min(double a, double b);
double max(double a, double b);


struct COR
{
	int num;
	double x, y;
}c[201];     //从1开始

int main()
{
	int i, n,t=1;
	
	while (cin >> n&&n)
	{
		for (i = 1; i <= n; i++)     //整体初始化
		{
			c[i].num = i;
			cin >> c[i].x >> c[i].y;
		}
		countD(n);
		output(n);
		cout << "Scenario #" << t << endl; t++;
		printf("Frog Distance = %.3lf\n", d[1][2]);
		//cout <<"Frog Distance = ";
		//cout.precision(4);
		//cout << d[1][2] << endl;
		cout << endl;
	}

	return 0;
}

void countD(int n)
{
	for (int i = 1; i < n; i++)
	{
		for (int j = i + 1; j <= n; j++)
		{
			d[i][j] = sqrt((c[i].x-c[j].x)*(c[i].x - c[j].x)+(c[i].y - c[j].y)*(c[i].y - c[j].y));
			d[j][i] = d[i][j];
		}
	}
}

void output(int n)
{
	int i, j, k;
	for (k = 1; k<=n; k++)
		for (i = 1; i<=n; i++)
			for (j = 1; j<=n; j++)
				d[i][j] = min(d[i][j], max(d[i][k], d[k][j]));   //若直接是自身已有的路径,则选择最短的;若需要拆分的路径,则选择当前路径最长的那一段
}

double min(double a, double b)
{
	if (a>b) return b;
	else return a;
}
double max(double a, double b)
{
	if (a>b) return a;
	else return b;
}


输出三个小数点没有找到cout的合适方式
于是只好又用了printf

核心算法借鉴了
http://blog.csdn.net/kidgin7439/article/details/9983037
真心佩服
早上老师刚刚讲了弗洛伊德算法
没有想到还能这样类比


版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/157921.html原文链接:https://javaforall.net

(0)
上一篇 2022年7月12日 下午4:46
下一篇 2022年7月12日 下午4:46


相关推荐

  • Zuul网关集群_zuul网关

    Zuul网关集群_zuul网关1,Zuul网关集群原理![在这里插入图片描述](https://img-blog.csdnimg.cn/20201019212045203.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM4ODQ1Mjcx,size_16,color_FFFFFF,t_70#pic_center)…

    2022年8月15日
    7
  • Linux修改时区及设置时间

    Linux修改时区及设置时间背景时区不同 会导致调用时间 API 出现预料之外的问题 例如 DateTimebegi DateUtil offsetHour DateTime of startTime 8 会出现时间错乱问题 比如此处减 8 但如果使用 pdt 时间的话 可能会出现 2022 04 28 14 14 36 变为 2022 04 27 14 14 36 的情况时区介绍 GMT GreenwichMea 格林威治标准时间 UTC CoordinatedU

    2026年3月17日
    2
  • xpath爬取美女图片

    xpath爬取美女图片尝试了一下用xpath爬取图集谷上面的美女图片,这次选择的是阿朱小姐姐,下面详细介绍如何爬取该网站中阿朱小姐姐的全部套图。网址如下:https://www.tujigu.com/t/437/

    2022年7月27日
    8
  • FFM算法 Python实现

    FFM算法 Python实现本算法是CTR中的系列算法之一,具体的原理就不说了。网上其他的博客一大堆。都是互相抄来抄去,写上去之后容易让人误会。因此我只传上代码实现部分。大家做个参考。这里我们的FFM算法是基于Tensorflow实现的。为什么用Tensorflow呢?观察二次项,由于field的引入,Vffm需要计算的参数有nfk个,远多于FM模型的nk个,而且由于每次计算都依赖于乘以的xj的field,所以…

    2022年4月30日
    76
  • 开启MySQL远程访问权限 允许远程连接

    开启MySQL远程访问权限 允许远程连接

    2021年11月23日
    48
  • SuperAgent使用简介

    SuperAgent使用简介SuperAgentSu 是轻量级更为优化的 ajaxAPI 对比大量糟糕的现存的 API SuperAgent 是灵活的 易读的 并且非常易学 同时 SuperAgent 可用于 Node js request post api pet send name Manny species cat set X API Key

    2026年3月19日
    1

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号