链接:
https://codeforces.com/problemset/problem/459/A
题意
已知一个正方形的两个点坐标,求剩下两个点坐标。
Example
input
0 0 0 1
output
1 0 1 1
input
0 0 1 1
output
0 1 1 0
input
0 0 1 2
output
-1
解析
纯水题,找正方形的其他两点。
#include <iostream>
using namespace std;
int main()
{
int x1, y1, x2, y2;
cin >> x1 >> y1 >> x2 >> y2;
int x3, y3, x4, y4;
bool flag = false;
if (x1 == x2 && y1 == y2) cout << -1 << endl;
else if (x1 == x2)
{
int length = abs(y2 - y1);
x3 = x1 + length;
y3 = y1;
x4 = x2 + length;
y4 = y2;
flag = true;
}
else if (y1 == y2)
{
int length = abs(x1 - x2);
x3 = x1;
x4 = x2;
y3 = y1 + length;
y4 = y2 + length;
flag = true;
}
else
{
if (abs(x1 - x2) != abs(y1 - y2)) cout << -1 << endl;
else
{
x3 = x1;
x4 = x2;
y3 = y2;
y4 = y1;
flag = true;
}
}
if (flag) cout << x3 << ' ' << y3 << ' ' << x4 << ' ' << y4 << endl;
return 0;
}