5-6 UVA 1595 Symmetry对称轴
题目大意紫书和原文都讲的非常易懂清晰,
观察给出的数据范围:不超过1000个点,每个点坐标范围在-10000到10000之间!
直接暴力求解就可以了!
整体思路:
因为一撮点要轴对称的话,肯定有一个确定的对称轴,所以可以先找两个点,来确定对称轴,在一个一个扫描所有的点,看看是不是对称!
为了方便,可以直接找最左上和最右上的两个点,来确定对称轴!
有一个技巧:因为对称轴是要除以二的,不妨存点的时候,直接存坐标的二倍,以保证整数!
#include<cstdio>
using namespace std;
const int maxn = 1000 + 5;
struct point
{int x,y;
}A[maxn];
int judge(int num,int N,int line){for (int i = 0; i < N; ++i)if(A[num].x + A[i].x == 2 * line && A[num].y == A[i].y)return 1;return 0;
}
int main()
{int T,N,x,y,line,flag = 0,left = 0,right = 0;scanf("%d",&T);while(T--){scanf("%d",&N);flag = left = right = 0;for (int i = 0; i < N; ++i){scanf("%d%d",&x,&y);A[i] = (point){2 * x,2 * y};}for (int i = 0 ; i < N; ++i){if (A[i].x < A[left].x)left = i;else if (A[i].x == A[left].x && A[i].y > A[left].y)left = i;if (A[i].x > A[right].x)right = i;else if (A[i].x == A[right].x && A[i].y > A[right].y)right = i;}line = (A[left].x + A[right].x ) / 2;for (int i = 0; i < N; ++i)if (!judge(i,N,line)){flag = 1;break;}flag == 0 ? (printf("YES\n")) : (printf("NO\n"));}return 0;
}
5-6 UVA 1595 Symmetry对称轴相关推荐
- UVA 1595 Symmetry
思路: 这道题和 UVA221 Urban Elevations 思路一样的:用结构体pot存x,y的值: 用double数组x存下每一个可以做对称轴的点,然后sort,unique,然后遍历每一个对 ...
- Symmetry UVA - 1595
不能再摸鱼了,加油! #include <bits/stdc++.h> using namespace std; int main () {int n;cin>>n;while ...
- 1595:Symmetry
Symmetry 我的思路: 开始是想着将所有点都存在set里面,找出对称轴,然后对于每一个点确定其对称点是否存在,但是觉得这样效率似乎太低,就放弃了. 后来想到了这样做:将所有点按x坐标进行排序,若 ...
- 紫书《算法竞赛入门经典》
紫书<算法竞赛入门经典>题目一览 第3章 数组和字符串(例题) UVA 272 TEX Quotes UVA 10082 WERTYU UVA 401 Palindromes UVA 34 ...
- Uva1595 对称轴
Uva 1595对称轴 题目描述: 给出平面上N个点,问是否可以找到一条竖线,使得所有点左右对称. 思路: 这个题我的思路是将所有高度(y)相同的点求每组高度的坐标x的平均值,如果总个数N是偶数,那么 ...
- WaWa的奇妙冒险(第二周集训自闭现场)
第二周周记 (一)例题记录 A-简单计算器 (水题,栈的运用) HDU - 1237 Input Output Sample Input Sample Output 理解 AC代码 B-计算 (逆波兰 ...
- 算法竞赛入门经典(第2版)—第五章(C++与STL入门)
文章目录 零碎知识点整理 题目 10474 - Where is the Marble? 101 - The Blocks Problem 10815 - Andy's First Dictionar ...
- 集训der二周目学习(练习题+感悟)
永动WA题机der二周目学习摘录 (一)有趣的题目 A - 看病要排队 HDU - 1873 Input Output Sample Input Sample Output 对题目的理解 代码 B - ...
- 数学术语的英汉对照(权威,全面)
abbreviation 简写符号:简写 abscissa 横坐标 absolute complement 绝对补集 absolute error 绝对误差 absolute inequality 绝 ...
最新文章
- 机器学习入门(13)— Affine 仿射层、Softmax 归一化指数函数层实现
- 音乐处理---H_music.php
- 并发编程基础之volatile关键字的用法
- C/C++ 回调函数是什么?Intel Realsense里的回调(callback)是什么?
- 丰收互联蓝牙key怎么开机_ublox收购Rigado的蓝牙模块业务,扩大蓝牙低功耗产品组合...
- 第二十五期:5G预约用户超千万!是“虚火”还是“真旺”?
- java string字符拼接符+的研究
- svn上传时显示database is locked
- java高并发编程艺术_[高并发]Java高并发编程系列开山篇--线程实现
- JavaSE|StringBuffer
- 【ENVI】利用矢量shp数据做裁剪报错及解决办法
- js怎么获取ueditor值_js获取UEditor富文本编辑器中的图片地址
- UI设计师应聘面试攻略看这篇就够了
- 报表工具ActiveReports开发实例——物联网智能供水云平台
- 新技术加速隐私暴露,如何应对?(二)
- 【北大/上交/浙大/中科大/山大】公布复试分数线!【34所自划线】
- PCB之AD快速布局
- 【财经期刊FM-Radio|2020年11月19日】
- 寂静岭2java攻略_寂静岭2攻略 全剧情流程图文攻略+隐藏要素解谜
- 11月1日到11月14日的成果