哪位大佬帮我看看,这个为什么会显示编译错误啊?我编译时没问题啊QAQ
#include<bits/stdc++.h>
using namespace std;
double size(int x,int y,int x1,int y1)
{
int a1,a2;
a1=(x-x1)*(x-x1);
a2=(y-y1)*(y-y1);
return sqrt(a1+a2);
}
int n,x,y,x1,y1,a[101][101],s[101];
double m=-1,r[101];
double maxr(int xx)
{
for(int i=1;i<=n;i++)
{
if(i!=xx&&s[i]==1&&r[i]>size(a[i][1],a[i][2],a[xx][1],a[xx][2]))
{
return 0;
}
}
double s1,ans=min(min(abs(a[xx][1]-x),abs(a[xx][1]-x1)),min(abs(a[xx][2]-y),abs(a[xx][2]-y1)));
for(int i=1;i<=n;i++)
{
if(i!=xx&&s[i]==1)
{
s1=size(a[i][1],a[i][2],a[xx][1],a[xx][2])-r[i];
ans=min(ans,s1);
}
}
return ans;
}
void dfs(int xx,double res)
{
if(xx>=n)
{
m=max(m,res);
return ;
}
for(int i=1;i<=n;i++)
{
if(s[i]==0)
{
r[i]=maxr(i);
s[i]=1;
dfs(xx+1,res+3.1415926*r[i]*r[i]);
s[i]=0;
r[i]=0;
}
}
}
int main()
{
cin>>n>>x>>y>>x1>>y1;
int s;
s=abs(x-x1)*abs(y-y1);
for(int i=1;i<=n;i++)
{
cin>>a[i][1]>>a[i][2];
}
dfs(0,0);
int ans=round(s-m);
cout<<ans<<endl;
return 0;
}