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

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

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

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/5635279.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-12-16
下一篇2022-12-16

发表评论

登录后才能评论

评论列表(0条)

    保存