对称点line
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的更多相关文章
- hdu 2857 求点关于线段的对称点
本来很简单的一个题,但是有个大坑: 因为模板中Tline用到了直线的一般方程ax+by+c=0,所以有种很坑的情况需要特判: 斜率不存在啊喂 老子坑了一下午2333 #include <math ...
- HDU 5572 An Easy Physics Problem (计算几何+对称点模板)
HDU 5572 An Easy Physics Problem (计算几何) 题目链接http://acm.hdu.edu.cn/showproblem.php?pid=5572 Descripti ...
- 「HDU - 2857」Mirror and Light(点关于直线的对称点)
题目链接 Mirror and Light 题意 一条直线代表镜子,一个入射光线上的点,一个反射光线上的点,求反射点.(都在一个二维平面内) 题解 找出入射光线关于镜子直线的对称点,然后和反射光线连边 ...
- hdu 2857:Mirror and Light(计算几何,点关于直线的对称点,求两线段交点坐标)
Mirror and Light Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) ...
- 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 ...
- HDU 6631 line symmetric(枚举)
首先能想到的是至少有一对相邻点或者中间间隔一个点的点对满足轴对称,那么接下来只需要枚举剩下的点对是否满足至多移动一个点可以满足要求. 第一种情况,对于所有点对都满足要求,那么Yes. 第二种情况,有一 ...
- 2019牛客暑期多校训练营(第三场)H Magic Line
原题链接:H Magic Line 题意简述: 给定n个点,要求画一条直线将n个点分成均有n / 2个点的两部分,不能有点在线上: 解题思路: 首先,先将所有的点进行以x为第一关键字,y为第二关键字 ...
- ILJMALL project过程中遇到Fragment嵌套问题:IllegalArgumentException: Binary XML file line #23: Duplicate id
出现场景:当点击"分类"再返回"首页"时,发生error退出 BUG描述:Caused by: java.lang.IllegalArgumentExcep ...
- 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 ...
随机推荐
- ES6学习--Array.from()方法
Array.from()方法就是将一个类数组对象或者可遍历对象转换成一个真正的数组. 那么什么是类数组对象呢?所谓类数组对象,最基本的要求就是具有length属性的对象. 1.将类数组对象转换为真正数 ...
- JavaScript 中语法规范及调试
JavaScript 中语法规范及调试 版权声明:未经博主授权,内容严禁分享转载 JavaScript 开发环境 JavaScript 脚本可以使用任意一款纯文本编辑器进行编程开发. 常见的前端开发编 ...
- troubleshooting-Kerberos 鉴权异常
ERROR transport.TSaslTransport: SASL negotiation failurejavax.security.sasl.SaslException: GSS initi ...
- 20145206邹京儒Exp6 信息搜集与漏洞扫描
20145206邹京儒Exp6 信息搜集与漏洞扫描 一.实践过程记录 openvas漏洞扫描 1.openvas-check-setup来查看下他的安装状态: 如下图所示:在步骤7中出现错误,显示需要 ...
- 20145206邹京儒《网络对抗技术》 PC平台逆向破解
20145206邹京儒<网络对抗技术> PC平台逆向破解 注入shellcode并执行 一.准备一段shellcode 二.设置环境 具体在终端中输入如下: apt-cache searc ...
- P1600 天天爱跑步
lca真心不太会,这里只介绍60分做法,100的太难辣简单了就不介绍了 n<=1000 zz回溯爆搜 S[i]全部相等 这dfs序都不用lca的,2333,差分,然后输出判断一下是否是0(1到i ...
- hdu 6180 Schedule
Schedule Problem Description There are N schedules, the i-th schedule has start time si and end time ...
- BZOJ1355: [Baltic2009]Radio Transmission KMP
Description 给你一个字符串,它是由某个字符串不断自我连接形成的. 但是这个字符串是不确定的,现在只想知道它的最短长度是多少. Input 第一行给出字符串的长度,1 < L ≤ 1, ...
- 02_Flume1.6.0安装及单节点Agent实践
Flume1.6.0的安装1.上传Flume-1.6.0-tar.gz到待部署的所有机器 以我的为例: /usr/local/src/ 2.解压得到flume文件夹 # tar -x ...
- NOI 4978 宠物小精灵之收服(二维背包)
http://noi.openjudge.cn/ch0206/4978/ 描述 宠物小精灵是一部讲述小智和他的搭档皮卡丘一起冒险的故事. 一天,小智和皮卡丘来到了小精灵狩猎场,里面有很多珍贵的野生宠物 ...