CF749B Parallelogram is Back 题解
Content
给出平行四边形的三个顶点 \((x_1,y_1),(x_2,y_2),(x_3,y_3)\),求出所有可能的第四个顶点。
数据范围:\(\forall i\in[1,3],-1000\leqslant x_i,y_i\leqslant 1000\)。
Solution
这题可以通过平行四边形的一个性质轻松搞定——平行四边形的对角线互相平分。
啥啥啥?你还不知道什么是平行四边形?
因为太占空间,去这里看吧qwq。
那么用这个有什么用呢?
我们都知道,一条线段 \(AB\) 的中点计算公式是 \((\dfrac{x_A+x_B}{2},\dfrac{y_A+y_B}{2})\),那么我们来看到下面这个平行四边形:

那么,我们通过上面这个平行四边形的性质可以得到,\(AC\) 和 \(BD\) 的中点是同一个点。那么我们就有:
\]
将 \((1)\) 式和 \((2)\) 式分别都乘上 \(2\)可以得到:\(x_A+x_C=x_B+x_D,y_A+y_C=y_B=y_D\)。
所以,现在假设 \(A,B,C\) 三个点为题目中的已知点,那么第四个点 \(D\) 可以有以下几种:

我们可以通过计算得到:
\(D_1(x_A+x_C-x_B,y_A+y_C-y_B)\)
\(D_2(x_A+x_B-x_C,y_A+y_B-y_C)\)
\(D_3(x_B+x_C-x_A,y_B+y_C-y_A)\)
我们可以发现,有且仅有以上这三个点符合要求。因此,满足点的个数为 \(3\),坐标直接按照上面的公式输出即可(顺序可以任意)。
Code
#include <cstdio>
#include <algorithm>
#include <iostream>
using namespace std;
int x1, y1, x2, y2, x3, y3;
int main() {
scanf("%d%d%d%d%d%d", &x1, &y1, &x2, &y2, &x3, &y3);
printf("3\n%d %d\n%d %d\n%d %d", x2 + x3 - x1, y2 + y3 - y1, x1 + x3 - x2, y1 + y3 - y2, x1 + x2 - x3, y1 + y2 - y3);
}
CF749B Parallelogram is Back 题解的更多相关文章
- Parallelogram Counting(平行四边形个数,思维转化)
1058 - Parallelogram Counting PDF (English) Statistics Forum Time Limit: 2 second(s) Memory Limit ...
- 【codeforces 749B】Parallelogram is Back
time limit per test1 second memory limit per test256 megabytes inputstandard input outputstandard ou ...
- 2016 华南师大ACM校赛 SCNUCPC 非官方题解
我要举报本次校赛出题人的消极出题!!! 官方题解请戳:http://3.scnuacm2015.sinaapp.com/?p=89(其实就是一堆代码没有题解) A. 树链剖分数据结构板题 题目大意:我 ...
- noip2016十连测题解
以下代码为了阅读方便,省去以下头文件: #include <iostream> #include <stdio.h> #include <math.h> #incl ...
- BZOJ-2561-最小生成树 题解(最小割)
2561: 最小生成树(题解) Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 1628 Solved: 786 传送门:http://www.lyd ...
- Codeforces Round #353 (Div. 2) ABCDE 题解 python
Problems # Name A Infinite Sequence standard input/output 1 s, 256 MB x3509 B Restoring P ...
- 哈尔滨理工大学ACM全国邀请赛(网络同步赛)题解
题目链接 提交连接:http://acm-software.hrbust.edu.cn/problemset.php?page=5 1470-1482 只做出来四道比较水的题目,还需要加强中等题的训练 ...
- 2016ACM青岛区域赛题解
A.Relic Discovery_hdu5982 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Jav ...
- poj1399 hoj1037 Direct Visibility 题解 (宽搜)
http://poj.org/problem?id=1399 http://acm.hit.edu.cn/hoj/problem/view?id=1037 题意: 在一个最多200*200的minec ...
随机推荐
- es基本概念
电商实时数据分析平台需要学些什么? [运营指标,流量指标,销售转化指标,客户价值指标,商品指标,营销指标,风险控制指标,市场竞争指标]等电商指标数据. 检索,数据更新,排序,分词,query等缓存机 ...
- Codeforces 1383E - Strange Operation(线段树优化 DP or 单调栈+DP)
Codeforces 题目传送门 & 洛谷题目传送门 Yet another 自己搞出来的难度 \(\ge 2800\) 的题 介绍一个奇奇怪怪的 \(n\log n\) 的做法.首先特判掉字 ...
- Atcoder Regular Contest 093 D - Dark Horse(组合数学+状压 dp)
Atcoder 题面传送门 & 洛谷题面传送门 常规题,简单写写罢((( 首先 \(1\) 的位置是什么不重要,我们不妨钦定 \(1\) 号选手最初就处在 \(1\) 号位置,最后答案乘个 \ ...
- [linux] mv: cannot move $ to $: Directory not empty
最近测试某流程时,跑的过程报错了,于是检查脚本修改后重新测试.脚本是改过来了,但在shell中运行某步时碰到了如题报错! $ mv MP_genus_network_files/ tax_networ ...
- 关于vim复制剪贴粘贴命令的总结-转
最近在使用vim,感觉很好很强大,但是在使用复制剪切粘贴命令是,碰到了一些小困惑,网上找了一些资料感觉很不全,讲的也不好,遂自己进行实践并总结了. 首先是剪切(删除): 剪切其实也就顺带删除了所选择的 ...
- 使用 JDBC 驱动程序
本部分提供使用 Microsoft JDBC Driver for SQL Server 与 SQL Server 数据库建立简单连接的快速入门指导.在连接到 SQL Server 数据库之前,必须首 ...
- 入坑不亏!我们最终决定将 70w+ 核心代码全部开源
作者 | 一啸 来源 | 尔达 Erda 公众号 背景故事 2017 年初,我们基于 DC/OS (mesos + marathon) 开始构建端点自己的 PaaS 平台,核心任务就是解决公司的软件开 ...
- A Child's History of England.25
It was a September morning, and the sun was rising, when the King was awakened from slumber by the s ...
- day9 文件处理
day09 文件处理 一.注册与登录功能 username = input('请输入您的密码:').strip() password = input('请输入您的密码:').strip() f = o ...
- Azkaban(二)【WorkFlow案例实操】
目录 1.使用步骤 2.案例: 1.hello word 2.作业依赖[dependsOn配置作业的依赖关系] 3.内嵌工作流 4.全局配置 [在开头通过config进行配置,后续可以通过${属性名} ...