佛山网红书店,企业seo推广,免费简历,ps网站导航怎么做本道题可以理解成一个平面直角坐标系#xff0c;在坐标系上标出整个矩形和油滴的坐标#xff0c;计算两个油滴的面积和直径#xff0c;判断点是否在圆内#xff08;点与圆的位置关系#xff09;#xff0c;利用使用坐标求两点间距离的公式取解。
代码如下#xff1a; …
本道题可以理解成一个平面直角坐标系在坐标系上标出整个矩形和油滴的坐标计算两个油滴的面积和直径判断点是否在圆内点与圆的位置关系利用使用坐标求两点间距离的公式取解。
代码如下
#includebits/stdc.h
using namespace std;
#define PI 3.1415926
const int N8;
int n,xa,xb,ya,yb;
struct node{int x,y;double r;
}nod[N];
double ma0;
int vis[N];
double cal(int i){double r1min(abs(nod[i].x-xa),abs(nod[i].x-xb));double r2min(abs(nod[i].y-ya),abs(nod[i].y-yb));double rmin(r1,r2);for(int j1;jn;j){if(i!jvis[j]){double dsqrt(pow(nod[i].x-nod[j].x,2)pow(nod[i].y-nod[j].y,2));double disd-nod[j].r;if(dis0) r0.0;else rmin(r,dis);}}return r;
}
void dfs(int k,double sum){if(kn1){mamax(ma,sum);return;}for(int i1;in;i){if(vis[i]) continue;vis[i]1;nod[i].rcal(i);dfs(k1,sumPI*pow(nod[i].r,2));vis[i]0;}
}
int main(){scanf(%d,n);scanf(%d %d %d %d,xa,ya,xb,yb);for(int i1;in;i){scanf(%d %d,nod[i].x,nod[i].y);}dfs(1,0);double sabs(xa-xb)*abs(ya-yb);int resround(s-ma);printf(%d\n,res);return 0;
}