2 线
题⽬描述

有一天rax看到了男神,有时可爱美丽的她派ypq去把yyqx抓回来给rax欣赏,但ypq和yyqx间隔了一条线,她必须跳到yyqx以前待得点的对称点才有可能抓到yyqx
给出⼀条直线,在这过程中yyqx可能移动位置,于是进行n 组询问,每组询问yyqx的坐标,求这个点关于这条直线的 对称点,输出ypq围堵的位置。

可爱帅气的ypq翻山越岭的为rax找yyqx,历尽千辛万苦,路上她还幸运的遇到了zx和sln两位帅气逼人的强盗,只劫财不劫色,可怜的ypq,灰头土脸,兜比脸还干净的,向前走,没留意到前方的大沟,然后哈哈哈哈,最后她回到了rax的身边(ps.当然还带上了yyqx啦),然后他们三个人幸福的生活的在一起了。(赤果果的甜蜜三角恋)

输⼊输出格式
输⼊格式 第⼀⾏四个数 x1 , y1 , x2 , y2 , 描述⼀条线。之后⼀⾏⼀个数字 n, 接下来 n ⾏每⾏ 两个整数 x, y 表⽰⼀个点坐标,保证点不在直线上。 输出格式 输出 n ⾏,分别为输⼊给出点的对称点的坐标,误差不超过1e-3即可。 输⼊输出样例
样例1
样例2 
0 0 1 1

1

1 0

输出:0.000 1.000 
line.in  line.out

0 1 2 5

2

1 1

3 10

输出 -0.600 1.800

5.400 8.800 
数据范围
对于0%的数据,和样例⼀模⼀样 对于10%的数据,直线和样例1或2⼀样 对于另外10%的数据,n = 1 对于100%的数据,n <=10^5,任何点不在直线上,坐标的范围是[-1000,1000]

 #include<cstdio>
#include<cstring>
#include<cmath>
#include<algorithm>
using namespace std;
int main()
{
/*freopen("line.in","r",stdin);
freopen("line.out","w",stdout);
*/
int ax,bx,cx,ay,by,cy,t,i;
double k,m,n,c,qx,qy;
scanf("%d %d %d %d",&ax,&ay,&bx,&by);
k = (double)(by - ay) / (bx - ax);
c = (double)by - k * bx;
m = (double)- / k;
scanf("%d",&t);
for(i = ;i <= t + ;i++)
{
scanf("%d %d",&cx,&cy);
n = (double)cy - m * cx;
qx = (double)(k * cx - cy + * c - n) / (m - k);
qy = (double)m * qx + n;
if(qx == -)
{
qx = ;
}
if(qy == -)
{
qy = ;
}
printf("%0.3lf %0.3lf\n",qx,qy);
} return ;
}

************

用解析几何,两点到直线的距离公式上方互为相反数导出来的。

哈哈哈

反击第一步

对称点line的更多相关文章

  1. hdu 2857 求点关于线段的对称点

    本来很简单的一个题,但是有个大坑: 因为模板中Tline用到了直线的一般方程ax+by+c=0,所以有种很坑的情况需要特判: 斜率不存在啊喂 老子坑了一下午2333 #include <math ...

  2. HDU 5572 An Easy Physics Problem (计算几何+对称点模板)

    HDU 5572 An Easy Physics Problem (计算几何) 题目链接http://acm.hdu.edu.cn/showproblem.php?pid=5572 Descripti ...

  3. 「HDU - 2857」Mirror and Light(点关于直线的对称点)

    题目链接 Mirror and Light 题意 一条直线代表镜子,一个入射光线上的点,一个反射光线上的点,求反射点.(都在一个二维平面内) 题解 找出入射光线关于镜子直线的对称点,然后和反射光线连边 ...

  4. hdu 2857:Mirror and Light(计算几何,点关于直线的对称点,求两线段交点坐标)

    Mirror and Light Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) ...

  5. Line Reflection -- LeetCode

    Given n points on a 2D plane, find if there is such a line parallel to y-axis that reflect the given ...

  6. HDU 6631 line symmetric(枚举)

    首先能想到的是至少有一对相邻点或者中间间隔一个点的点对满足轴对称,那么接下来只需要枚举剩下的点对是否满足至多移动一个点可以满足要求. 第一种情况,对于所有点对都满足要求,那么Yes. 第二种情况,有一 ...

  7. 2019牛客暑期多校训练营(第三场)H Magic Line

    原题链接:H  Magic Line 题意简述: 给定n个点,要求画一条直线将n个点分成均有n / 2个点的两部分,不能有点在线上: 解题思路: 首先,先将所有的点进行以x为第一关键字,y为第二关键字 ...

  8. ILJMALL project过程中遇到Fragment嵌套问题:IllegalArgumentException: Binary XML file line #23: Duplicate id

    出现场景:当点击"分类"再返回"首页"时,发生error退出   BUG描述:Caused by: java.lang.IllegalArgumentExcep ...

  9. Error on line -1 of document : Premature end of file. Nested exception: Premature end of file.

    启动tomcat, 出现, ( 之前都是好好的... ) [lk ] ERROR [08-12 15:10:02] [main] org.springframework.web.context.Con ...

随机推荐

  1. P3868 [TJOI2009]猜数字

    [TJOI2009]猜数字 中国剩余定理 求解i=1 to n : x≡a[i] (mod b[i])的同余方程组 设 t= ∏i=1 to n b[i] 我们先求出 i=1 to n : x≡1 ( ...

  2. P3366 【模板】最小生成树(堆优化prim)

    堆优化prim #include<cstdio> #include<cstring> #include<queue> using namespace std; st ...

  3. 通过一个例子了解Ajax

    Ajax指的Asyncronous JavaScript and XML Ajax并不是什么新的编程语言, 它是现有一些东西的应用.从它的名称中就可以看出来 假如我们设想, 浏览器展示了一个页面,但需 ...

  4. 多态时最好将基类的析构函数设为virtual、 C++中两个类相互包含引用问题 (转载)

    多态:http://blog.csdn.net/tmljs1988/article/details/8146521 C++中两个类相互包含引用问题:http://blog.csdn.net/leo11 ...

  5. WideCharToMultiByte和MultiByteToWideChar函数的用法(转载)

    出处:http://www.cnblogs.com/gakusei/articles/1585211.html 为了支持Unicode编码,需要多字节与宽字节之间的相互转换.这两个系统函数在使用时需要 ...

  6. Python3基础 sys.path 查看搜索路径变量

             Python : 3.7.0          OS : Ubuntu 18.04.1 LTS         IDE : PyCharm 2018.2.4       Conda ...

  7. PyCharm/IDEA 使用技巧总结

    基本概念 IDEA 没有类似 Eclipse 的工作空间的概念(workspace),最大单元就是 Project.这里可以把 Project 理解为 Eclipse 中的 workspace.Mod ...

  8. Death to Binary? (模拟)题解

    思路: 除去前导0,注意两个1不能相邻(11->100),注意 0 *** 或者*** 0或者0 0情况 用string的reverse()很舒服 代码: #include<cstdio& ...

  9. 谈谈java中的final关键字

    知识点:final(最终的)关键字修饰类.方法.属性 1.final修饰类:那么这个就无法被继承,如String类.StringBuffer类.System类 2.final修饰方法:被修饰的方法不能 ...

  10. Ubuntu 上 执行命令 java -version 显示 没有那个文件或目录

    解决方法 执行 which java 发现默认java目录:/usr/bin/java . 查看 JAVA_HOME 路径:$JAVA_HOME,得到 /usr/local/java/jdk1.7.0 ...