猫史档案馆


【Python作品分享】新的作品

用户:迪尔洛斯生活遗址迪尔洛斯生活遗址查看:4 回复:1 评论:4 创建时间:2020-02-19T21:56:05


【作品展示】

center_image

 

【作品介绍】

afada

 

【作品源代码】

dasdadsadsadad

 

【提示】

部分含有Python第三方库相关内容的作品,在海龟编辑器网页端无法运行哦!如遇到这种情况,可以打开下面的链接,下载海龟编辑器客户端:

https://python.codemao.cn


回复

上一页1 页 / 共 1下一页
爵士OIer爵士OIer

#include<iostream>
#include<algorithm>
#include<cstdio>
#include<cstring>
#include<cmath>
using namespace std;
const int maxn=10;
const double PI=3.1415926535;
bool s[maxn];
double x[maxn],y[maxn],r[maxn],xa,ya,xb,yb,an喵ax;
int n;
double cal(int i){
    double s1=min(abs(x[i]-xa),abs(x[i]-xb));
    double s2=min(abs(y[i]-ya),abs(y[i]-yb));
    double ans=min(s1,s2);
    for(int j=1;j<=n;j++)
    if(i!=j&&s[j]){
        double d=sqrt((x[i]-x[j])*(x[i]-x[j])+(y[i]-y[j])*(y[i]-y[j]));
        ans=min(ans,max(d-r[j],0.0));
    }
    return ans;
}
void dfs(int k,double sum){
    if(k>n){
        an喵ax=max(an喵ax,sum);
        return;
    }
    for(int i=1;i<=n;i++){
        if(!s[i]){
            r[i]=cal(i);
            s[i]=1;
            dfs(k+1,sum+r[i]*r[i]*PI);
            s[i]=0;
        }
    }
}
int main(){
    double ss;
    scanf("%d",&n);
    scanf("%lf%lf%lf%lf",&xa,&ya,&xb,&yb);
    ss=abs(xa-xb)*abs(ya-yb); 
    for(int i=1;i<=n;i++)
    scanf("%lf%lf",&x[i],&y[i]);
    dfs(1,0);
    printf("%d",int(ss-an喵ax+0.5));
    return 0;
}

点赞0


评论