栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

本题关键在于找规律,但两点之间距离似乎找不到规律,这时我们发现所有点和原点之间的距离是有规律的,找到每个点于原点之间的距离公式,求出两个点与原点的距离,再求出他们差值的绝对值就可以解决了

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

本题关键在于找规律,但两点之间距离似乎找不到规律,这时我们发现所有点和原点之间的距离是有规律的,找到每个点于原点之间的距离公式,求出两个点与原点的距离,再求出他们差值的绝对值就可以解决了

#include
#include
#include
using namespace std;
double a[220];
using namespace std;
int main()
{
	int t,n,x1,x2,y1,y2;
	double s1,s2;
	a[0]=0;
	for(int i=1;i<=210;++i)
	a[i]=a[i-1]+sqrt(2*pow(i,2))+sqrt(pow(i,2)+pow(i-1,2)); 
	cin>>t;
	while(t--)
	{
		int m;
		cin>>x1>>y1>>x2>>y2;
		if(x1==0&&y1==0)
		s1=0;
		else
		{
			m=x1+y1-1;
		    s1=a[m]+sqrt(pow(m,2)+pow(m+1,2))+sqrt(2*pow(x1,2));
		}
		if(x2==0&&y2==0)
		s2=0;
		else
		{
			m=x2+y2-1;
		    s2=a[m]+sqrt(pow(m,2)+pow(m+1,2))+sqrt(2*pow(x2,2));
		}
		printf("%.3lfn",fabs(s2-s1));
	}
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/629397.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号