原题网址:
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;
}
本文分享了一位程序员在解决复杂编程问题时遇到的挑战与思考过程,从最初的复杂思路到最终的简洁解决方案,揭示了如何通过反思与优化,提升编程技能与效率。案例涉及算法实现、代码细节考虑以及问题解决策略等方面,为读者提供了一个深入理解编程思维与实践的视角。
230

被折叠的 条评论
为什么被折叠?



