题目大意紫书和原文都讲的非常易懂清晰,

观察给出的数据范围:不超过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对称轴相关推荐

  1. UVA 1595 Symmetry

    思路: 这道题和 UVA221 Urban Elevations 思路一样的:用结构体pot存x,y的值: 用double数组x存下每一个可以做对称轴的点,然后sort,unique,然后遍历每一个对 ...

  2. Symmetry UVA - 1595

    不能再摸鱼了,加油! #include <bits/stdc++.h> using namespace std; int main () {int n;cin>>n;while ...

  3. 1595:Symmetry

    Symmetry 我的思路: 开始是想着将所有点都存在set里面,找出对称轴,然后对于每一个点确定其对称点是否存在,但是觉得这样效率似乎太低,就放弃了. 后来想到了这样做:将所有点按x坐标进行排序,若 ...

  4. 紫书《算法竞赛入门经典》

    紫书<算法竞赛入门经典>题目一览 第3章 数组和字符串(例题) UVA 272 TEX Quotes UVA 10082 WERTYU UVA 401 Palindromes UVA 34 ...

  5. Uva1595 对称轴

    Uva 1595对称轴 题目描述: 给出平面上N个点,问是否可以找到一条竖线,使得所有点左右对称. 思路: 这个题我的思路是将所有高度(y)相同的点求每组高度的坐标x的平均值,如果总个数N是偶数,那么 ...

  6. WaWa的奇妙冒险(第二周集训自闭现场)

    第二周周记 (一)例题记录 A-简单计算器 (水题,栈的运用) HDU - 1237 Input Output Sample Input Sample Output 理解 AC代码 B-计算 (逆波兰 ...

  7. 算法竞赛入门经典(第2版)—第五章(C++与STL入门)

    文章目录 零碎知识点整理 题目 10474 - Where is the Marble? 101 - The Blocks Problem 10815 - Andy's First Dictionar ...

  8. 集训der二周目学习(练习题+感悟)

    永动WA题机der二周目学习摘录 (一)有趣的题目 A - 看病要排队 HDU - 1873 Input Output Sample Input Sample Output 对题目的理解 代码 B - ...

  9. 数学术语的英汉对照(权威,全面)

    abbreviation 简写符号:简写 abscissa 横坐标 absolute complement 绝对补集 absolute error 绝对误差 absolute inequality 绝 ...

最新文章

  1. 应用在大规模推荐系统,Facebook提出组合embedding方法 | KDD 2020
  2. ROS中RVIS导入机器人模型,添加摄像头,雷达,Kinect
  3. Linux下的TCP Wrapper机制
  4. ACK容器服务发布virtual node addon,快速部署虚拟节点提升集群弹性能力
  5. unef螺纹_小螺纹大学问,11种螺纹类型,你都使用过吗,了解它的使用方法吗
  6. 软件测试作业8:分析自动售货机软件例子生成的判定表图例
  7. 数据结构--队列Queue--循环顺序队列
  8. Windows开启SNMP服务----Win7
  9. wpp助手怎么连接服务器,aewpp.com
  10. [codevs 1503]愚蠢的宠物(特殊的LCA)
  11. 思科、华为、华三交换机的线缆检测功能
  12. [na]锐起无盘机并发部署多台windows
  13. CATIA二次开发—参数那点事
  14. android传感器type_orientation,android – 已弃用的Sensor.TYPE_ORIENTATION的等效替换
  15. jupyter 阿里云服务器配置 远程连接 开机自动启动服务
  16. 河北滹沱河流域上演喜鹊戏金雕
  17. 面向未来:元宇宙是可望不可及的彼岸世界
  18. 华为p6 android4.4,华为P6终于品尝到了安卓4.4.2 可惜……
  19. ppt中的面积显示图表中有数据被盖住了显示不出来_关于PPT图表的用法,看这一篇就够了...
  20. 组件-Element—Timeline(时间线)

热门文章

  1. Adobe Bridge 2021最新中文版来了!!!!
  2. 51单片机(三)数码管(超详细、必会!)
  3. LNMP 架构部署(附:部署 Discuz 社区论坛 Web 应用)
  4. Ubuntu16.04(Xenial Xerus 好客的非洲地松鼠)更换pip源
  5. Linux下的进程PCB以及线程详解
  6. 硬件和软件看门狗的差别
  7. 如果要设计个分布式文件系统,该从哪些方面考虑?
  8. 万能计算机作文,万能机器人作文9篇
  9. 【前言】 VVC理论知识之基本框架
  10. 谨慎使用Encoding.Default