CodeForces 459A Pashmak and Garden(水~几何-给两点求两点组成正方形)
2016-10-10 14:33
274 查看
题目链接:http://codeforces.com/problemset/problem/459/A
题目大意:
给出两个点(在坐标轴中),求另外两个点从而构成一个正方形,该正方形与坐标轴平行。
如果给的点构不成与坐标轴平行的正方形,则输出 -1.
两点范围: x1, y1, x2, y2 ( - 100 ≤ x1, y1, x2, y2 ≤ 100) 。所求两点范围: x3, y3, x4, y4 ( - 1000 ≤ x3, y3, x4, y4 ≤ 1000).
解题思路:
给出两个点,那么这两个有三种关系,
1. 两个点横坐标相等。 2.两个点纵坐标相等。 3.两个点对角。在坐标找“相对位置”的点即可。
AC Code:
题目大意:
给出两个点(在坐标轴中),求另外两个点从而构成一个正方形,该正方形与坐标轴平行。
如果给的点构不成与坐标轴平行的正方形,则输出 -1.
两点范围: x1, y1, x2, y2 ( - 100 ≤ x1, y1, x2, y2 ≤ 100) 。所求两点范围: x3, y3, x4, y4 ( - 1000 ≤ x3, y3, x4, y4 ≤ 1000).
解题思路:
给出两个点,那么这两个有三种关系,
1. 两个点横坐标相等。 2.两个点纵坐标相等。 3.两个点对角。在坐标找“相对位置”的点即可。
if(x1==x2) printf("%d %d %d %d\n", x1-abs(y1-y2),y1,x2-abs(y1-y2),y2); 上两行代码解释: 如果x1==x2,则两个点在同一列,求剩余两个点的位置,则剩余两个点的y可以从已知的两个点中得出【不明白可以在纸上画画】,则求两个点的“相对给出点的” x 的位置. 先求 x3 距离 x1(x1 对应 x3) 的绝对距离,然后让 x1-绝对距离(也可以是 x1+绝对距离),即可得到相对于x1的 x3 的位置,则第三个点的位置就有了,x3,y3(y3=y1). 同样在求x4,y4即可。 y1==y2 同样的思路不在解释。 如果给出的两个点为对角【if(abs(y1-y2)==abs(x1-x2))条件满足可以构成正方形】,则直接可以得出剩余两个点的位置【不明白纸上画画】。
AC Code:
1 #include<bits/stdc++.h> 2 using namespace std; 3 int main() 4 { 5 int x1,x2,y1,y2; 6 while(scanf("%d%d%d%d",&x1,&y1,&x2,&y2)!=EOF) 7 { 8 if(x1==x2) 9 printf("%d %d %d %d\n", x1-abs(y1-y2),y1,x2-abs(y1-y2),y2); 10 else if(y1==y2) 11 printf("%d %d %d %d\n",x1,y1-abs(x1-x2),x2,y2-abs(x1-x2)); 12 else if(abs(x1-x2)==abs(y1-y2)) 13 printf("%d %d %d %d\n",x1,y2,x2,y1); 14 else 15 printf("-1\n"); 16 } 17 return 0; 18 }
相关文章推荐
- CodeForces - 660D Number of Parallelograms (数学几何)给出n个点问能组成的平行四边形个数
- [计算几何]点集中的点能组成多少个正方形
- CodeForces-630 O. Arrow【向量+几何】
- HUST 1632 Sheep’s Toy I(计算几何 正方形旋转覆盖面积)
- Codeforces 140 A. New Year Table(计算几何)
- [LeetCode] Matchsticks to Square 火柴棍组成正方形
- Codeforces 887E Little Brothers 过两点的圆和给定的圆的关系 二分搜索
- Codeforces 682E 计算几何
- 通过程序设计几何图形、矩形、圆形、正方形几种类型,能够利用接口和多态性计算几何图形的面积和周长并显示。
- [几何 平面图欧拉定理] Codeforces 933C. A Colourful Prospect
- CodeForces 682E Alyona and Triangles (计算几何)
- Codeforces 801D Volatile Kite 几何
- poj 2002 Squares 判断一些点能组成多少个正方形 二分查找
- 【几何---正方形覆盖】hdu 4007
- 在几何画板中怎么度量两点间的距离
- hdu 5533 计算几何 判断是否为正方形
- Codeforces 560C Gerald's Hexagon【计算几何】
- CodeForces - 820B Mister B and Angle in Polygon(平面几何/尺取)
- 通过程序设计几何图形(Shape)、矩形(Rectangle)、圆形(Circle)、正方形(Square)几种类型, 能够利用接口和多态性计算几何图形的面积和周长并显示。