sogou C++开发工程师
发布于 2017-09-08 18:06 2294 次浏览 0 赞 来自 试题交流  
#include<iostream>

#include<math.h>
using namespace std;

double* sort_l(double *a,int n)
{
	for(int i=0;i<n;i++)
    {
    	for(int j=i+1;j<n;j++)
        {
            if(a[i]>a[j])
            {
                double temp=a[i];
                a[i]=a[j];
                a[j]=temp;
            }	
        }
    }
    return a;
}
int main()
{
int n;
    int i,j;
    while(cin>>n)
    {
		if(n<2)
			return -1;
        double maxLen=0.0;
        double a[10000005];
        double *p;
    	for(i=0;i<n;i++)
        {
       		 cin>>a[i];//每个点的角度
        } 
        p=sort_l(a,n);
	
        double res=0;
        for(i=0;i<n;i++)
        {
        	for(j=i+1;j<n;j++)
            {
            	maxLen=p[j]-p[i];
                maxLen = ((maxLen<=180&& maxLen>=0) ? maxLen :360-maxLen);
              
               if(res< maxLen)
			   {
				 res=maxLen;
			   }   
            }
        }
        printf("%.8lf\n",res);
    }
return 0;
}


4 条回复

兄弟,,你这个N^2的方法过了吗???

2017-09-08 18:11
coder_G26Q4FNF 回复 coder_RYSDR6CU

能过就见鬼了,他还写了个冒泡排序。。。。。。。。。。。,楼主估计已经疯了

2017-09-08 18:14
coder_RYSDR6CU 回复 coder_G26Q4FNF

我的NlogN就过了80%。。找错找了1小时 找不到啊。。好闹心

2017-09-08 18:16

已经排序过的了

2017-09-08 18:18
添加回复
回到顶部