只能过3个7个运行超过时间,有没有大佬教一下怎么缩短运行时间或相关的文章也行谢谢
查看原帖
只能过3个7个运行超过时间,有没有大佬教一下怎么缩短运行时间或相关的文章也行谢谢
443134
adtom楼主2021/2/9 23:00
#include<math.h>
#include<algorithm>
using namespace std;
int main(){
	int x1,y1,x2,y2,x,y,n,r,R,i,j;
	int p[n][2];
	cin>>x1>>y1>>x2>>y2;
	cin>>n;
	int o[n]={},w[n]={};
	for(i=0;i<n;i++){
		for(j=0;j<2;j++){
			cin>>p[i][j];
		}
	}
	
	for(i=0;i<n;i++){
		j=0;
			o[i]=(p[i][j]-x1)*(p[i][j]-x1)+(p[i][j+1]-y1)*(p[i][j+1]-y1);
			w[i]=(p[i][j]-x2)*(p[i][j]-x2)+(p[i][j+1]-y2)*(p[i][j+1]-y2);
			if(o[i]>w[i])   //离那个原点选哪个 
				o[i]=0;
			else
				w[i]=0;
	}
	int max=o[0],max1=w[0];
	for(i=0;i<n-1;i++){				//求出最远的两个点 
		if(o[i]<o[i+1])
			max=o[i+1];
		if(w[i]<w[i+1])
			max1=w[i+1];
	}

	r=max+max1;
	cout<<r;
	return 0;
}
2021/2/9 23:00
加载中...