WOJ 1016
来源:互联网 发布:windows开发unity ios 编辑:程序博客网 时间:2024/06/05 09:13
题目比较简单. 直接把所有点的最大最小纵坐标找出来得到对称轴, 然后遍历判断每个点是否有对应的对称点就好了, 有的话就标记. 最后判断是否所有点都标记了, 有没标记的就说明不对称.
注意一点: C++ int类型最大值: 0x7fffffff, 最小值0x8000000.
还注意一点: 你写循环里面找最大最小值的时候最大最小值最初的量赋值要给写进循环啊…不然每次循环会变的…
//// Created by Frank Yan on 2017/12/19.//#include <iostream>#include <cstdio>#include <cstring>#include <stdlib.h>#include <string>#include <vector>#include <queue>using namespace std;int problem16(){ int n; while(scanf("%d",&n)==1){ int min = 0x7fffffff; int max = 0x80000000; int position[n][3]; for(int i=0;i<n;i++){ cin>>position[i][0]; cin>>position[i][1]; position[i][2] = 0; } for(int i=0;i<n;i++){ if(position[i][1]>max) max = position[i][1]; if(position[i][1]<min) min = position[i][1]; } int sym = (max+min)/2; for(int i=0;i<n;i++){ int symy = 2*sym-position[i][1]; for(int j=0;j<n;j++) if(position[i][0] == position[j][0]&& position[j][1]==symy) position[i][2]=position[j][2] = 1; } for(int i =0;i<n;i++){ if(position[i][2]==0){ printf("NO\n"); break; } if(i==n-1) printf("YES\n"); } }}
阅读全文
0 0
- WOJ 1016
- WOJ
- woj
- WOJ 1020
- WOJ 1014
- WOJ 1055
- WOJ-1402
- WOJ--1314
- WOJ-1315
- WOJ-1316
- WOJ-1100
- woj-1301
- WOJ-1167
- WOJ 1619
- woj 1538
- WOJ1416-WOJ
- WOJ-1002
- WOJ-1003
- 通过Intent启动其他APP的Activity
- centos 6.8 + pgsql 9.6 + adminpack
- Eclipse快速构造方法
- angularjs简单使用批量删除
- THINKPHP 防止重复提交表单 自己实现token
- WOJ 1016
- ubuntu进入root界面快捷键
- SimpleDateFormat 24小时和12小时转换
- git
- java8
- 1111
- Python标准库:内置函数max(iterable, *[, key, default])
- eclipse使用Maven导入jar包时检索本地仓库检索不到
- MyEclipse server窗口出现Could not create the view: An unexpected exception was thrown