2900: F-A Simple Question
时间限制: 1 Sec
内存限制: 128 MB
提交: 66
解决: 24
题目描述
今天,pasher打算在一个浪漫的花园和他的搭档们聚餐,但是不幸的是,pasher忘记了花园的地点,他只记得这个花园看上去像个平行于坐标轴的正方形,他还记得花园的每个顶点上都有一棵大数。现在,pasher知道其中两棵树的坐标,且这两棵树在对角线上,你能帮他找出另外两棵树的坐标吗?
输入
多组输入,直到文件末。每组输入包含一行,第一行包含四个整数,x1,y1,x2,y2,代表pasher知道的两棵树的坐标,(-100<=x1,y1,x2,y2<=100),其中x1,y1代表第一棵树,x2,y2代表第二棵树。
输出
如果没有解则输出-1。否则输出另外两棵树的坐标x3,y3,x4,y4,按x递增的顺序输出.
样例输入
0 0 1 1
样例输出
0 1 1 0
im0qianqian_站在回忆的河边看着摇晃的渡船终年无声地摆渡,它们就这样安静地画下黄昏画下清晨......
#include <stdio.h>
#include <stdlib.h>
int main()
{
int x1,y1,x2,y2,x3,y3,x4,y4;
while (~scanf("%d%d%d%d",&x1,&y1,&x2,&y2))
{
if ((x1!=x2)&&(y1!=y2)&&abs(x1-x2)==abs(y1-y2))
{
if (x1<x2)x3=x1,x4=x2,y3=y2,y4=y1;
else x3=x2,x4=x1,y3=y1,y4=y2;
printf("%d %d %d %d\n",x3,y3,x4,y4);
}
else printf("-1\n");
}
return 0;
}