UVA 1595 Symmetry (set)
来源:互联网 发布:中科院软件所考研 编辑:程序博客网 时间:2024/06/07 02:59
题目链接
题意
给出平面上n个点,问是否存在这样的一条竖线,使得所有点左右对称
解决
- 根据所有点的横坐标之和求出平均值,即为竖线的水平位置
- 输入的时候把点存在自定义结构体的set中
- 遍历每一个点,看是否能在set中查找到关于竖线对称的点,找不到的话就不存在
struct point{ int x,y; point(){} point(int xx,int yy) { x=xx;y=yy; } //如果使用自定义结构体的set,需要重载小于号 bool operator<(const point &p2)const { if(x==p2.x) return y<p2.y; else return x<p2.x; }};int main(){ //open(); int cases; scanf("%d",&cases); while(cases--) { set<point> myset; int n,a,b; double sum=0; scanf("%d",&n); for(int i=0;i<n;i++) { scanf("%d%d",&a,&b); sum+=a; myset.insert(point(a,b)); } sum/=n; bool ok=true; set<point>::iterator it; set<point>::iterator it2; for(it=myset.begin();it!=myset.end();it++) { point ans=*it; point aim(2*sum-ans.x,ans.y); it2=myset.find(aim); if(it2==myset.end()) //找不到的话find返回end { ok=false; break; } } if(ok) puts("YES"); else puts("NO"); }}
阅读全文
0 0
- UVA - 1595 Symmetry set
- UVA 1595 Symmetry (set)
- UVa 1595 Symmetry
- UVA - 1595 Symmetry
- UVa 1595 - Symmetry
- UVa 1595 Symmetry(暴力)
- UVa: 1595 - Symmetry
- Uva 1595 Symmetry
- UVa: 1595 - Symmetry
- UVA - 1595 Symmetry
- UVa 1595 Symmetry
- Uva - 1595 - Symmetry
- Symmetry(UVa 1595)
- UVA 1595 Symmetry
- UVa 1595 - Symmetry
- UVa 1595 Symmetry
- UVa 1595(Symmetry)
- uva 1595 Symmetry
- java 多线程 乐观锁悲观锁
- 商业拜访需要注意的13个小细节
- jquery插件stepy的用法详解
- 如何快速转载CSDN中的博客【转载】
- 9-8 (kruskal水)
- UVA 1595 Symmetry (set)
- 高级网卡配置工具
- Rainbow的商店
- 2017年湖南省第十三届大学生计算机程序设计竞赛Seating Arrangement
- 机器学习的基本问题
- 宝马CIC主机清FSC的方法步骤
- ABBYY FineReader 14下载 v14.0.101中文破解版
- pat 乙级 1055. 集体照 (25)
- codeforces 451B Sort the Array