题目链接: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.两个点对角。在坐标找“相对位置”的点即可。

  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:

 #include<bits/stdc++.h>
using namespace std;
int main()
{
int x1,x2,y1,y2;
while(scanf("%d%d%d%d",&x1,&y1,&x2,&y2)!=EOF)
{
if(x1==x2)
printf("%d %d %d %d\n", x1-abs(y1-y2),y1,x2-abs(y1-y2),y2);
else if(y1==y2)
printf("%d %d %d %d\n",x1,y1-abs(x1-x2),x2,y2-abs(x1-x2));
else if(abs(x1-x2)==abs(y1-y2))
printf("%d %d %d %d\n",x1,y2,x2,y1);
else
printf("-1\n");
}
return ;
}

CodeForces 459A Pashmak and Garden(水~几何-给两点求两点组成正方形)的更多相关文章

  1. Codeforces Round #261 (Div. 2)459A. Pashmak and Garden(数学题)

    题目链接:http://codeforces.com/problemset/problem/459/A A. Pashmak and Garden time limit per test 1 seco ...

  2. Codeforce 459A - Pashmak and Garden (已知两点求另外两点构成正方形)

    Pashmak has fallen in love with an attractive girl called Parmida since one year ago... Today, Pashm ...

  3. CF459A Pashmak and Garden (水

    Pashmak and Garden Codeforces Round #261 (Div. 2) A. Pashmak and Garden time limit per test 1 second ...

  4. cf459A Pashmak and Garden

    A. Pashmak and Garden time limit per test 1 second memory limit per test 256 megabytes input standar ...

  5. CF 459A(Pashmak and Garden-正方形给出2点求2点)

    A. Pashmak and Garden time limit per test 1 second memory limit per test 256 megabytes input standar ...

  6. codeforces 459D - Pashmak and Parmida&#39;s problem【离散化+处理+逆序对】

    题目:codeforces 459D - Pashmak and Parmida's problem 题意:给出n个数ai.然后定义f(l, r, x) 为ak = x,且l<=k<=r, ...

  7. Codeforces 459E Pashmak and Graph(dp+贪婪)

    题目链接:Codeforces 459E Pashmak and Graph 题目大意:给定一张有向图,每条边有它的权值,要求选定一条路线,保证所经过的边权值严格递增,输出最长路径. 解题思路:将边依 ...

  8. 蓝桥杯 算法训练 Torry的困惑(基本型)(水题,筛法求素数)

    算法训练 Torry的困惑(基本型) 时间限制:1.0s   内存限制:512.0MB      问题描述 Torry从小喜爱数学.一天,老师告诉他,像2.3.5.7……这样的数叫做质数.Torry突 ...

  9. Codeforces Round #261 (Div. 2) B. Pashmak and Flowers 水题

    题目链接:http://codeforces.com/problemset/problem/459/B 题意: 给出n支花,每支花都有一个漂亮值.挑选最大和最小漂亮值得两支花,问他们的差值为多少,并且 ...

随机推荐

  1. 开发错误记录9:Application无法跳转到Activity

    今天在做友盟消息推送,当客户端收到推送消息时,如客户端不是活动的,用如下代码 启动Activity发现无法启动,原因是原有的任务栈已消毁,判断启动是如消毁,如有,再新建一个 只要给它添加一个标志 就可 ...

  2. python 批量更改文件名

    工作中遇到一种情况,就是市场部那边经常发过来一些apk的包 但是要求更改名字,文件太多了,没办法,只有想办法了,还好命名都是有规则的 比如说 YZLoan-gdtyyb-V2.23.apk------ ...

  3. 评价指标ROC,PR

    之前实习的时候一直见公司里面的人说什么AUC, 实际AUC就是ROC曲线的面积 PR是precise和recall曲线,和ROC的区别是,当测试集中的正负样本分布变化的时候,ROC曲线能够保持不变,而 ...

  4. Notes on 'Efficient Graph-Based Image Segmentation'

    Notes on Efficient Graph-Based Image Segmentation 算法的目标 按照一种确定的标准, 将图片分割成细粒度的语义区域, 即Super pixel. 算法步 ...

  5. java-原生爬虫机制源码

    这是一个web搜索的基本程序,从命令行输入搜索条件(起始的URL.处理url的最大数.要搜索的字符串),它就会逐个对Internet上的URL进行实时搜索,查找并输出匹配搜索条件的页面. 这个程序的原 ...

  6. sql insert into select语句写法-将查询结果直接插入到表中

    insert into month_gpcj_info(idStr,zszrmygpsl,xyzrmygpsl,mycje,mycjl,month_date,dataCompiledDate) sel ...

  7. Win7另存文件没有桌面的解决方法

    今日一朋友保存文件随口说了一句我那个桌面找不到了...我略感惊奇,没遇到这么个情况.决定,问度娘,在此做下记录,以便以后自己或朋友查阅. 我们在网上另存一个文件,打开另存窗口,发现没有“桌面” 在收藏 ...

  8. C#6.0新特性的尝试

    由于项目升级到了.NetFramework 4.6.1,开发工具转向了vs2015,趁机尝试下C#6.0.结果在网上搜的一些教程总结的不是太完整,有的代码随着vs正式版的发布也有所修改.那些个教程也没 ...

  9. Integer与int的种种比较你知道多少?

    如果面试官问Integer与int的区别:估计大多数人只会说道两点,(1)Ingeter是int的包装类,int的初值为0:(2)Ingeter的 初值为null.但是如果面试官再问一下Integer ...

  10. awk 匹配不是 pattern 的内容

    awk '/pattern/ {next} {print $0}' filename