您的位置:首页 > 其它

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
原本自己想的太复杂了,当成判断能否找到任意一条直线满足所有点对称,然后发现写了好长还是考虑不全多有的情况,搜了一下大神的博客,才发现自己真是才疏智浅.......

唉...

然后暴力也是欠缺了细节的考虑,错了好几遍.....

#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;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: