杭电1007分治法

#include 
#include 
#include 
#include 
using namespace std;
typedef struct 
{
	double x;
	double y;
}Node;
Node stu[100010];
Node personx[100010];
Node persony[100010];
bool cmp(Node X,Node Y)
{
	return X.x>1;
	int cnt=0;
	double ans=min(Solve(l,mid),Solve(mid+1,r));
	for(i=l;i<=r;i++)
	{
		if(fabs(personx[i].x-persony[mid].x)=ans)break;	
			ans=min(ans,Num(persony[i],persony[j]));
		}
	}
	return ans;
}
int main()
{
	int N;
	int i,j;
	while(scanf("%d",&N)&&N)
	{
		for(i=1;i<=N;i++)
		{
			scanf("%lf%lf",&stu[i].x,&stu[i].y);
			personx[i]=stu[i];
		}
		sort(personx+1,personx+N+1,cmp);
		printf("%.2lf\n",Solve(1,N)/2);
	}
return 0;
}

你可能感兴趣的:(杭电题目)