首先大家需要知道什么是矩形,如下图所示。矩形是四个角均为 90 度的特殊的平行四边形。既然是平行四边形,那么一定对边平行且相等,即 $AB = CD$ 且 $AB \parallel CD$,$AD = BC$ 且 $AD\parallel BC$。那么就有 $A$ 与 $D$,$B$ 与 $C$ 的 $x$ 轴坐标相等;$A$ 与 $B$,$C$ 与 $D$ 的 $y$ 轴坐标相等。
矩形
那么就有,输入的三个数中,找出单独未配对的点 $x$ 坐标与 $y$ 坐标,输出即可。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
using namespace std;
int main()
{
int x1,y1,x2,y2,x3,y3;
cin>>x1>>y1>>x2>>y2>>x3>>y3;
if(x1 == x2) cout<<x3<<" ";
if(x1 == x3) cout<<x2<<" ";
if(x2 == x3) cout<<x1<<" ";
if(y1 == y2) cout<<y3<<endl;
if(y1 == y3) cout<<y2<<endl;
if(y2 == y3) cout<<y1<<endl;
return 0;
}

不知道大家看到找未配对的数后有什么联想?
提示:两个相同的数进行异或值为 $0$

因此就可以把 $x$ 与 $y$ 分别异或,那么配对的数值为 $0$,剩下的答案也就是要输出的数了。

1
2
3
4
5
6
7
8
9
#include <iostream>
using namespace std;
int main()
{
int x,y,ansx = 0,ansy = 0;
for(int i = 1;i <= 3;i++) cin>>x>>y,ansx ^= x,ansy ^= y;
cout<<ansx<<" "<<ansy<<endl;
return 0;
}