- 题解
【异世界日记#1】牧人饮马
- 2024-1-16 20:52:42 @
<"题解">
大家都知道,(不知道别看了)勾股定理就是a * a+b * b=c* c(直角三角形)所以c=√(a* a+b *b)
构造一个点a和点b,a点坐标为(X1,Y1),b点坐标为(X2,Y2)用点a和点b互相做垂直线到c点,坐标为(X2,Y1)所以ac* ac+bc * bc=ab* ab
下面直接写结论:
- [ac* ac=(X2-X1)* (X2-X1) ]
- [bc* bc=(Y2-Y1)* (Y2-Y1) ] 重点来了!:
ab=√((X2-X1)*(X2-X1)+((Y2-Y1) *(Y2-Y1)))!!!!!!!!!
重点又来了!:
- [关于x轴对称的两个点的坐标,横坐标相同,纵坐标相反. ]
- [ 关于y轴对称的两个点的坐标,横坐标相反,纵坐标相同.]
- [关于原点对称的两个点的坐标横纵坐标都相反。]
把a点做对称点后直接算距离就行
废话不多说,直接上代码:
#include<bits/stdc++.h>
using namespace std;
int main(){
double x1,y1,x2,y2;
cin>>x1>>y1>>x2>>y2;
if(y1*y2>0){
y1=-y1;
}
printf("%.3lf",sqrt(pow(x2-x1,2)+pow(y2-y1,2)));
return 0;
}
能否点个赞? 球球了~ QWQ------ZTH
5 条评论
-
corey0208 LV 8 @ 2024-1-29 9:29:01
vocal
-
2024-1-24 13:09:29@
牛逼
-
2024-1-21 10:10:20@
666
-
2024-1-20 14:52:05@
那个词就是,
牛逼
-
2024-1-19 17:12:23@
888
- 1