CF 261A. Pashmak and Garden
来源:互联网 发布:最基本的网络通信协议 编辑:程序博客网 时间:2024/06/06 12:25
Today, Pashmak set up a meeting with his partner in a romantic garden. Unfortunately, Pashmak has forgotten where the garden is. But he remembers that the garden looks like a square with sides parallel to the coordinate axes. He also remembers that there is exactly one tree on each vertex of the square. Now, Pashmak knows the position of only two of the trees. Help him to find the position of two remaining ones.
The first line contains four space-separated x1,?y1,?x2,?y2 (?-?100?≤?x1,?y1,?x2,?y2?≤?100) integers, where x1 and y1 are coordinates of the first tree and x2 and y2 are coordinates of the second tree. It's guaranteed that the given points are distinct.
If there is no solution to the problem, print -1. Otherwise print four space-separated integers x3,?y3,?x4,?y4 that correspond to the coordinates of the two other trees. If there are several solutions you can output any of them.
Note that x3,?y3,?x4,?y4 must be in the range (?-?1000?≤?x3,?y3,?x4,?y4?≤?1000).
0 0 0 1
1 0 1 1
0 0 1 1
0 1 1 0
0 0 1 2
-1
#include<iostream>
#include<cstring>
#include<algorithm>
#include<cstdlib>
#include<vector>
#include<cmath>
#include<stdlib.h>
#include<iomanip>
#include<list>
#include<deque>
#include<map>
#include <stdio.h>
#include <queue>
#define maxn 10000+5
#define ull unsigned long long
#define ll long long
#define reP(i,n) for(i=1;i<=n;i++)
#define rep(i,n) for(i=0;i<n;i++)
#define cle(a) memset(a,0,sizeof(a))
#define mod 90001
#define PI 3.141592657
#define INF 1<<30
const ull inf = 1LL << 61;
const double eps=1e-5;
using namespace std;
bool cmp(int a,int b){
return a>b;
}
int main()
{
//freopen("in.txt","r",stdin);
//freopen("out.txt","w",stdout);
int x1,x2,y1,y2;
int x3,y3,x4,y4;
int mark1=0,mark=0;
cin>>x1>>y1>>x2>>y2;
if(x1==x2)
{
int d=abs(y1-y2);
x3=x1+d;
x4=x1+d;
if(x3>1000)
{
x3=x1-d;
x4=x1-d;
if(x3<-1000){cout<<-1<<endl;mark=1;}
}
if(!mark)cout<<x3<<" "<<y1<<" "<<x4<<" "<<y2<<endl;
}
else
if(y1==y2)
{
int d=abs(x1-x2);
y3=y1+d;
y4=y1+d;
if(y3>1000||y4>1000)
{
y3=y1-d;
y4=y1-d;
if(y3<-1000||y4<-10000){cout<<-1<<endl;mark1=1;}
}
if(!mark1)cout<<x1<<" "<<y3<<" "<<x2<<" "<<y4<<endl;
}
else
{
int d=abs(x1-x2);
int t=abs(y1-y2);
if(t!=d)cout<<-1<<endl;
else
{
cout<<x1<<" "<<y2<<" "<<x2<<" "<<y1<<endl;
}
}
return 0;
}
- CF 261A. Pashmak and Garden
- CF 261A. Pashmak and Garden
- A. Pashmak and Garden
- A. Pashmak and Garden
- 【CODEFORCES】 A. Pashmak and Garden
- Codeforces Round #261 (Div. 2) A. Pashmak and Garden (水题)
- Codeforces Round #261 (Div. 2) A. Pashmak and Garden
- Codeforces #261 (Div. 2) A. Pashmak and Garden(水题)
- Codeforces Round #261 (Div. 2) A. Pashmak and Garden【水】
- Codeforces Round #261 (Div. 2) A. Pashmak and Garden
- Codeforces Round #261 (Div. 2)A. Pashmak and Garden
- Codeforces Round #261(Div.2) A. Pashmak and Garden
- CF 459A(Pashmak and Garden-正方形给出2点求2点)
- Codeforces 459A Pashmak and Garden(水题)
- codeforces-#459A Pashmak and Garden
- codeforces 459A. Pashmak and Garden
- Codeforces-459A-Pashmak and Garden
- cf459A Pashmak and Garden
- 单链表的实现
- C#控制台实现52张扑克牌的分法
- 循环链表实现队列
- CF 258A. Game With Sticks
- CF 258B. Sort the Array
- CF 261A. Pashmak and Garden
- stl-algorithm用法
- HDU 1505City Game
- 【问题解决】FragmentTabHost 底部菜单栏,切换Frgment时重新加载问题
- HDU 1087 Super Jumping! Jumping! Jumping!
- POJ 2533 LIS N2
- 【转载】继承(C#)
- HDU 1166 敌兵布阵
- HOJ 1876经理的烦恼