求助大佬
查看原帖
求助大佬
377794
Level_1024楼主2020/12/13 08:28
#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
using namespace std;
//(x_1-x_2)^2+(y_1-y_2)^2 方程

int main()
{
	int a1,a2,b1,b2,n,x1=-1,y1=-1;//分别等于系统一横轴,纵轴,系统二横轴,纵轴,导弹数量,工作半径距离平方
	cin>>a1>>a2>>b1>>b2>>n;
	int mis[n+2][2];
	for(int j=1;j<=n;j++)
	{
	    cin>>mis[j][1]>>mis[j][2];//横纵输入
	}
	for(int i=1;i<=n;i++)
	{
	    if(((a1-mis[i][1])*(a1-mis[i][1])+(a2-mis[i][2])*(a2-mis[i][2]))>=((b1-mis[i][1])*(b1-mis[i][1])+(b2-mis[i][2])*(b2-mis[i][2])))
	    {//判断这个导弹那个系统拦截更好
            if(((a1-mis[i][1])*(a1-mis[i][1])+(a2-mis[i][2])*(a2-mis[i][2]))>x1)
            {//判断是否需要扩大工作半径的平方
                
                x1=((a1-mis[i][1])*(a1-mis[i][1])+(a2-mis[i][2])*(a2-mis[i][2]));
            }
	    }
	    else
	    {
	        if(((b1-mis[i][1])*(b1-mis[i][1])+(b2-mis[i][2])*(b2-mis[i][2]))>y1)
            {
                y1=((a1-mis[i][1])*(a1-mis[i][1])+(a2-mis[i][2])*(a2-mis[i][2]));
            }
	    }
	}
	cout<<x1+y1;
	return 0;
}
2020/12/13 08:28
加载中...