调的憨憨题解

发布时间:2019-11-01 23:27:23
贴主:关注鲤鱼Liyuu喵
热度:1
正在讨论:P2587 - 几何题9-平分矩形 题目传送门

关注鲤鱼Liyuu喵 2019-11-01

int main()

{

int n;

cin >> n;

for (int i = 1; i <= n; i++)

{

long double x1, y1, x2, y2, x, y, yp, xp;

cin >> x1 >> y1 >> x2 >> y2 >> x >> y;

yp = (y1 + y2) / 2;//矩形上下边的中间值

xp = (x1 + x2) / 2;//矩形左右边的中间值

if (abs(y - yp) <= abs(y1 - yp) && abs(x - xp) <= abs(x1 - xp))   //abs(y - yp)就是改点与矩形中间点的距离绝对值 ,abs(y1 - yp)就是矩形上下边长度一半的绝对值,简单理解就是该y点离yp距离只要小于变得一半就说明在范围内

{

cout << x1 + x2 - x << " " << y2 + y1 - y;//(x1 + x2)/2与(y1+y2)/2就是矩形的正中间的点,已知其中一点,又已知中点,只要知道其中一点就可以知道另一个点也就是(x1+x2)==2*xp

}

else

{

cout << -1;

}

cout << endl;

}

}


(0)

Copyright 2016 - 2024 XUJC ACM Team
闽ICP备2020022076号-1