当前位置: 首页 > news >正文

国内精品网站建设wordpress制作插件

国内精品网站建设,wordpress制作插件,建设flash网站,vi设计公司专业品牌题目 农民John的农场里有很多牧区#xff0c;有的路径连接一些特定的牧区。 一片所有连通的牧区称为一个牧场。 但是就目前而言#xff0c;你能看到至少有两个牧区不连通。 现在#xff0c;John想在农场里添加一条路径#xff08;注意#xff0c;恰好一条#xff09;。 一…题目 农民John的农场里有很多牧区有的路径连接一些特定的牧区。 一片所有连通的牧区称为一个牧场。 但是就目前而言你能看到至少有两个牧区不连通。 现在John想在农场里添加一条路径注意恰好一条。 一个牧场的直径就是牧场中最远的两个牧区的距离本题中所提到的所有距离指的都是最短的距离。 考虑如下的两个牧场每一个牧区都有自己的坐标 图 1 是有 5 个牧区的牧场牧区用“*”表示路径用直线表示。 图 1 所示的牧场的直径大约是 12.07106, 最远的两个牧区是 A 和 E它们之间的最短路径是 A-B-E。 图 2 是另一个牧场。 这两个牧场都在John的农场上。 John将会在两个牧场中各选一个牧区然后用一条路径连起来使得连通后这个新的更大的牧场有最小的直径。 注意如果两条路径中途相交我们不认为它们是连通的。 只有两条路径在同一个牧区相交我们才认为它们是连通的。 现在请你编程找出一条连接两个不同牧场的路径使得连上这条路径后所有牧场生成的新牧场和原有牧场中直径最大的牧场的直径尽可能小。 输出这个直径最小可能值。 输入格式 第 1 行一个整数 N, 表示牧区数 第 2 到 N1 行每行两个整数 X,Y 表示 N 个牧区的坐标。每个牧区的坐标都是不一样的。 第 N2 行到第 2*N1 行每行包括 N 个数字 ( 0或1 ) 表示一个对称邻接矩阵。 例如题目描述中的两个牧场的矩阵描述如下 样例A B C D E F G H A 0 1 0 0 0 0 0 0 B 1 0 1 1 1 0 0 0 C 0 1 0 0 1 0 0 0 D 0 1 0 0 1 0 0 0 E 0 1 1 1 0 0 0 0 F 0 0 0 0 0 0 1 0 G 0 0 0 0 0 1 0 1 H 0 0 0 0 0 0 1 0输入数据中至少包括两个不连通的牧区。 输出格式 只有一行包括一个实数表示所求答案。 数字保留六位小数。 数据范围 1 ≤ N ≤ 150         0≤ X , Y ≤ 10^5 思路 1、先将数据存储起来 2、初始化点到点的距离 3、使用floyd算法算出点到点的最小距离 4、保留所有点到点 i 的最大距离储存到maxd[]数组中。 5、遍历maxd[]数组距离最大的值就是所有连通图直径中的最大值使用res1储存。 6、遍历所有点到点的距离如果距离大于或等于INF则表明这两个点不在同一个连通图内将这两个点连接起来得到的直径为maxd[ i ] maxd[ j ] get_dist(q[ i ],q[ j ]);如果小于res2则更新res2。 7、输出res1与res2中的最小值。 代码 #includebits/stdc.h #define x first #define y second using namespace std;typedef pairint,int PII;const int N 150; const double INF 1e20;int n;// n代表牧区数目 PII q[N];// 用来储存牧区的坐标 char g[N][N];// 用来储存邻接矩阵g[i][j] 1 代表点i到点j是连通的否则代表不连通 double d[N][N],maxd[N];// d[i][j]代表点i到点j的最小距离maxd[i]代表所有能到达点i的最小距离中的最大距离double get_dist(PII a,PII b)//求点a到点b的距离 {double dx a.x - b.x, dy a.y - b.y;return sqrt(dx * dx dy * dy); }int main() {cin n;// 输入牧区数量for(int i 0; i n; i ) cin q[i].x q[i].y;// 依次输入牧区坐标for(int i 0; i n; i ) cin g[i];// 输入邻接矩阵for(int i 0; i n; i )for(int j 0; j n; j )if(i ! j){if(g[i][j] 1) d[i][j] get_dist(q[i],q[j]);// 初始化点i到点j的距离else d[i][j] INF;}for(int k 0; k n; k )for(int i 0; i n; i )for(int j 0; j n; j )d[i][j] min(d[i][j],d[i][k] d[k][j]);// 使用floyd算法求多源汇最短路任意点到任意点的最短距离for(int i 0; i n; i )for(int j 0; j n; j )if(d[i][j] INF)maxd[i] max(maxd[i],d[i][j]);// 求出所有能到达点i的最小距离中的最大距离double res1 0;for(int i 0; i n; i ) res1 max(res1,maxd[i]);// 使用res1储存所有连通图中直径的最大的值double res2 INF;for(int i 0; i n; i )for(int j 0; j n; j )if(d[i][j] INF)res2 min(res2,get_dist(q[i],q[j]) maxd[i] maxd[j]);// 使用res2储存连接一条边之后所得到新的连通图的直径的最小值printf(%lf\n,max(res1,res2));return 0;} 题目来自网站https://www.acwing.com/
http://www.yutouwan.com/news/123656/

相关文章:

  • 服务器可以做网站吗个人做网站需要什么条件
  • 对网站提出的优化建议昆明企业网站模板建站
  • 网站建设公司信息网站图片快速加载
  • 360元网站建设免费建设网站入驻
  • 网站后台管理系统 静态页面视频直播源码
  • 缅甸网站后缀之梦英语版网站怎么做
  • 网站的建设和设计方案网站建设丨下拉找金手指信誉
  • 百度网站是怎么建设的中国商务商会官方网站
  • 南昌网站建设方案维护郑州建设工程招标信息网
  • 单仁营销网站的建设黄骅港旅游景点
  • 做一个网站完整的网页张家港专业做网站
  • 东营有做网站的公司外贸软件
  • 监控系统网站开发山东前网站建设
  • 长春建设平台网站的公司吗整合营销的特点有哪些
  • 做购物网站的业务新余网站开发
  • 高端网站定制站山西商城网站建设
  • 网站的现状展示型网站一样做seo优化
  • 推荐常州微信网站建设旅游网站建设方
  • asp网站优缺点事件营销方案模板
  • wordpress多站点注册页搜索引擎的关键词优化
  • 修改wordpress的权限设置方法seo免费优化
  • 做海报哪个网站的素材多android系统开发
  • 手机网站开发学习视频网站首页图片代码
  • 品牌型网站建设哪家好自己编写的网站如何放到wordpress
  • 建设网站怎样通过流量赚钱wordpress页面布局修改器
  • 淘客如何做网站推广如何制作h5
  • 网站制作设计正规公司公诚管理咨询有限公司
  • 网站说服力营销型网站策划自己开发一个app软件
  • 建设彩票网站如何盈利为什么要在南极建站
  • logo制作网站免费深圳博大建设集团网站