UVa 1595 - Symmetry【暴力枚举】
2016-01-08 17:08
288 查看
原题网址:
https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=836&page=show_problem&problem=4470
原本自己想的太复杂了,当成判断能否找到任意一条直线满足所有点对称,然后发现写了好长还是考虑不全多有的情况,搜了一下大神的博客,才发现自己真是才疏智浅.......
唉...
然后暴力也是欠缺了细节的考虑,错了好几遍.....
https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=836&page=show_problem&problem=4470
原本自己想的太复杂了,当成判断能否找到任意一条直线满足所有点对称,然后发现写了好长还是考虑不全多有的情况,搜了一下大神的博客,才发现自己真是才疏智浅.......
唉...
然后暴力也是欠缺了细节的考虑,错了好几遍.....
#include<stdio.h> int x[1005],y[1005],n,mid; int search(int i) { for(int j=0;j<n;++j) { if(x[i]+x[j]==mid&&y[i]==y[j]) { return 1; } } return 0; } int judge() { for(int i=0;i<n;++i) { if(!search(i)) { return 0; } } return 1; } int main() { int t; //freopen("shuju.txt","r",stdin); scanf("%d",&t); while(t--) { int l=0,r=0; scanf("%d",&n); for(int i=0;i<n;++i) { scanf("%d%d",&x[i],&y[i]); l=(x[i]<x[l])?i:l; r=(x[i]>x[r])?i:r; } mid=x[l]+x[r]; if(judge()) { printf("YES\n"); } else { printf("NO\n"); } } return 0; }
相关文章推荐
- Python xml文件解析
- 解读C++编程中类模板的三种特化
- 学习JavaScript设计模式之状态模式
- 对任意长度的矢量求和
- 对storm中Topology的并发度理解
- Google GDG 学习
- weka 开发
- Debugging with Eclipse & JPDA
- BootstrapValidator(3)
- javascript 随机数
- 《实时控制软件设计》团队项目第三天工作日志
- amplab实验室的SNAP算法运行和操作
- JavaScript操作对象以及获取运行时的style对象
- iOS - 深复制和浅复制
- Azure MySQL PaaS (2) MySQL PaaS修改时区
- 20160108小问题
- redis+crontab异步处理任务
- 【人工智能】A*算法
- freemarker macro(宏)的使用
- generator自动生成mybatis配置和类信息