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

无形资产 网站建设wordpress 会员插件

无形资产 网站建设,wordpress 会员插件,wordpress 下载远程图片大小,中国城投建设集团有限公司网站Floyd求最短路 给定一个 n 个点 m 条边的有向图#xff0c;图中可能存在重边和自环#xff0c;边权可能为负数。 再给定 k 个询问#xff0c;每个询问包含两个整数 x 和 y#xff0c;表示查询从点 x 到点 y 的最短距离#xff0c;如果路径不存在#xff0c;则输出 impo…Floyd求最短路 给定一个 n 个点 m 条边的有向图图中可能存在重边和自环边权可能为负数。 再给定 k 个询问每个询问包含两个整数 x 和 y表示查询从点 x 到点 y 的最短距离如果路径不存在则输出 impossible。 数据保证图中不存在负权回路。 输入格式 第一行包含三个整数 n,m,k 接下来 m 行每行包含三个整数 x,y,z表示存在一条从点 x 到点 y 的有向边边长为 z。 接下来 k 行每行包含两个整数 x,y表示询问点 x 到点 y 的最短距离。 输出格式 共 k 行每行输出一个整数表示询问的结果若询问两点间不存在路径则输出 impossible。 数据范围 1≤n≤200 1≤k≤n2 1≤m≤20000 图中涉及边长绝对值均不超过 10000 输入样例 3 3 2 1 2 1 2 3 2 1 3 1 2 1 1 3输出样例 impossible 1#includeiostream #includealgorithm #includecstring using namespace std; const int N220,INF0x3f3f3f3f; int f[N][N]; int main() {int n,m,K;cinnmK;memset(f,0x3f,sizeof f);for(int i0;in;i) f[i][i]0;while(m--){int x,y,z;cinxyz;f[x][y]min(f[x][y],z);}for(int k1;kn;k){for(int i1;in;i){for(int j1;jn;j)f[i][j]min(f[i][j],f[i][k]f[k][j]);}}while(K--){int a,b;cinab;if(f[a][b]INF/2) coutimpossibleendl;else coutf[a][b]endl;}return 0; } 牛的旅行 农民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 输入样例 8 10 10 15 10 20 10 15 15 20 15 30 15 25 10 30 10 01000000 10111000 01001000 01001000 01110000 00000010 00000101 00000010输出样例 22.071068 直径最大值最小  题目的问题给定两个联通块在两个连通块中各取任意一点进行连接合成一个连通块求合并后的联通块的最长路径的最小值 floyd 这里可以分为两种情况一种是在同一个连通分量还有一种是不在同一个连通分量1.在同一连通分量我们用maxd[i]表示和i所在连通分量的最长直径那么这里的答案就是max1≤i≤nmaxd[i]max1≤i≤nmaxd[i] 2.不在同一连通分量 我们可以用两个连通分量的maxd它们之间的最短距离即可 这里的答案就是maxd[i]get (i,j)max[j] #includeiostream #includecstring #includealgorithm #includecmath #define x first #define y second using namespace std; typedef pairint,intPII; const int N200; const double INF1e20; PII q[N];//存储n个牧场的坐标 char g[N][N];//存储n个牧场之间是否有边 double d[N][N];//存储n牧场之间的距离最下值 double dmax[N];//dmax[i]表示 i所在的连通分量的最长直径 int n; //两个牧场之间的距离 double get_dist(PII a,PII b) {double dxb.x-a.x,dyb.y-a.y;return sqrt(dx*dxdy*dy); } int main() {cinn;for(int i0;in;i) cinq[i].xq[i].y;for(int i0;in;i) cing[i];for(int i0;in;i){for(int j0;jn;j){if(i!j){if(g[i][j]1)d[i][j]get_dist(q[i],q[j]);else d[i][j]INF;}}}//floyd 得出d[i][j] 距离的最小值for(int k0;kn;k){for(int i0;in;i){for(int j0;jn;j){d[i][j]min(d[i][j],d[i][k]d[k][j]);}}}for(int i0;in;i){for(int j0;jn;j){if(d[i][j]INF){dmax[i]max(dmax[i],d[i][j]);}}}double ans10;//情况1for(int i0;in;i) ans1max(ans1,dmax[i]);double ans2INF;//情况2for(int i0;in;i){for(int j0;jn;j){if(d[i][j]INF){ans2min(ans2,get_dist(q[i],q[j])dmax[i]dmax[j]);}}}printf(%.6lf\n,max(ans1,ans2));return 0; } 排序传递闭包 给定 n 个变量和 m 个不等式。其中 n 小于等于 26变量分别用前 n 的大写英文字母表示。 不等式之间具有传递性即若 AB 且 BC则 AC。 请从前往后遍历每对关系每次遍历时判断 如果能够确定全部关系且无矛盾则结束循环输出确定的次序如果发生矛盾则结束循环输出有矛盾如果循环结束时没有发生上述两种情况则输出无定解。 输入格式 输入包含多组测试数据。 每组测试数据第一行包含两个整数 n 和 m。 接下来 m 行每行包含一个不等式不等式全部为小于关系。 当输入一行 0 0 时表示输入终止。 输出格式 每组数据输出一个占一行的结果。 结果可能为下列三种之一 如果可以确定两两之间的关系则输出 Sorted sequence determined after t relations: yyy...y.,其中t指迭代次数yyy...y是指升序排列的所有变量。如果有矛盾则输出 Inconsistency found after t relations.其中t指迭代次数。如果没有矛盾且不能确定两两之间的关系则输出 Sorted sequence cannot be determined.。 数据范围 2≤n≤26变量只可能为大写字母 A∼Z。 输入样例1 4 6 AB AC BC CD BD AB 3 2 AB BA 26 1 AZ 0 0输出样例1 Sorted sequence determined after 4 relations: ABCD. Inconsistency found after 2 relations. Sorted sequence cannot be determined.输入样例2 6 6 AF BD CE FD DE EF 0 0输出样例2 Inconsistency found after 6 relations.输入样例3 5 5 AB BC CD DE EA 0 0输出样例3 Sorted sequence determined after 4 relations: ABCDE. #includeiostream #includecstring #includealgorithm using namespace std; const int N30; bool g[N][N],d[N][N]; bool st[N]; int n,m; void floyd()//通过floyd 来逐渐判断两个点的连通情况 {memcpy(d,g,sizeof d);for(int k0;kn;k)for(int i0;in;i)for(int j0;jn;j)if(!d[i][j]) d[i][j]d[i][k]d[k][j];} int check() {for(int i0;in;i)//矛盾情况 AAif(d[i][i]) return 2;for(int i0;in;i)for(int j0;ji;j)//不能确定情况if(!d[i][j]!d[j][i]) return 0;//可以确定情况return 1; } char get_min()//每次取出最小值 {for(int i0;in;i){if(!st[i])//如果没有取出 {bool flagtrue;for(int j0;jn;j)//判断是否 最小{if(!st[j]d[j][i]) {flagfalse;break;}}if(flag){st[i]true;return Ai;}}} } int main() {while(cinnm,n||m){memset(g,0,sizeof g);int type0,t;// t 记录轮次 type记录判断出来与否的标志for(int i1;im;i){char str[10];cinstr;int astr[0]-A,bstr[2]-A;if(!type){g[a][b]1;floyd();typecheck();if(type) ti;}}if(!type) coutSorted sequence cannot be determined.endl;else if(type2)printf(Inconsistency found after %d relations.\n,t);else{memset(st,0,sizeof st);printf(Sorted sequence determined after %d relations: ,t);for(int i0;in;i) printf(%c,get_min());printf(.\n);}}return 0; }
http://www.hkea.cn/news/14445010/

相关文章:

  • 企业网站建设课程体会一级建造师求职平台
  • 有哪些公司的网站做的比较好网站建设与维护面试
  • 配色设计网站推荐烟台公司网站定制
  • wordpress子站点404网站icp备案证书下载
  • 哪个网站可以做鸟瞰图照明做外贸的有那些网站
  • 一个做炉石视频的网站国外网站推广平台有哪些
  • 建一个图片类网站需要多少钱网站备案查询怎么查
  • 智能建站设计国外免费源码共享网站
  • 企业如何免费做网站投资公司经营范围
  • 宁波网站制作哪家强流感用什么药更好
  • 长春建站方案什么是网站主机
  • 建站快车凡科西安网站设计培训试听
  • 已备案网站域名网网站模板拍卖
  • 泰州专业制作网站wordpress中文主程序优化
  • 医疗整形网站怎么做当今做网站的语言有哪些
  • vps 同时做ssh和做网站金乡网站建设多少钱
  • 北京网站建设学校ui交互设计是什么意思呢
  • 网站建设寮步摄影设计说明300字
  • 龙港哪里有做百度网站的软件制作视频
  • 建设网站论坛都需要哪些工具网站建设平台计划书
  • 简洁大气蓝色文章资讯网站企业管理咨询是做什么
  • 做只在自己电脑上的网站前端开发工程师招聘信息
  • 天津餐饮网站建设广东购物网站建设哪家好
  • 网站设计与运营广西排名前十的模板厂
  • 四川省建设厅官方网站扣分记录长沙手机网站设计公司
  • 男女做那个的视频网站做图书馆网站的语言
  • 做国际贸易的网站网站制作加教程视频
  • 怎样做网站关键字天津网站建设培训
  • 用pyton可以做网站吗天元建设集团有限公司济南第六建筑工程分公司
  • 泉州seo网站建设费用微信h5爆点游戏源码