Six Degrees of Cowvin Bacon POJ 2139(最短路)
时间:2019-08-27
本文章向大家介绍Six Degrees of Cowvin Bacon POJ 2139(最短路),主要包括Six Degrees of Cowvin Bacon POJ 2139(最短路)使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
原题
题目分析
最短路问题,题目要求与其他牛平均最小分离度,事实上就是先求出这头牛到其他所有牛的最短距离之和在求个平均值.题目所给的一群牛上演一个电影其实就是这群牛之间互相存在一条长度为1的边.由于题目要求任意两点的最短路,所以选用Floyd算法来实现.最后找出最短距离之和ans后,ans×100/n-1就是答案了.
代码
1 #include <iostream> 2 #include <algorithm> 3 #include <utility> 4 #include <cstdio> 5 #include <cmath> 6 #include <cstring> 7 #include <string> 8 #include <vector> 9 #include <stack> 10 #include <queue> 11 #include <map> 12 #include <set> 13 14 using namespace std; 15 typedef long long LL; 16 const int INF_INT=0x3f3f3f3f; 17 const LL INF_LL=0x3f3f3f3f3f3f3f3f; 18 19 bool es[400][400]; 20 int dp[400][400]; 21 22 void add() 23 { 24 int n; 25 cin>>n; 26 int num[400]; 27 int cnt=0; 28 for(int i=0;i<n;i++) 29 { 30 int x; 31 scanf("%d",&x); 32 for(int j=0;j<cnt;j++) 33 { 34 es[num[j]][x]=1; 35 es[x][num[j]]=1; 36 } 37 num[cnt++]=x; 38 } 39 } 40 41 int main() 42 { 43 // freopen("black.in","r",stdin); 44 // freopen("black.out","w",stdout); 45 int n,m; 46 cin>>n>>m; 47 for(int i=0;i<m;i++) add(); 48 /* for(int i=1;i<=n;i++) 49 for(int j=1;j<=n;j++) 50 if(es[i][j]) printf("dis %d %d\n",i,j);*/ 51 for(int i=1;i<=n;i++) 52 for(int j=1;j<=n;j++) 53 if(es[i][j]) dp[i][j]=1; 54 else dp[i][j]=INF_INT; 55 for(int k=1;k<=n;k++) 56 for(int i=1;i<=n;i++) 57 for(int j=1;j<=n;j++) 58 dp[i][j]=min(dp[i][j],dp[i][k]+dp[k][j]); 59 int ans=INF_INT; 60 for(int i=1;i<=n;i++) 61 { 62 int res=0; 63 for(int j=1;j<=n;j++) 64 if(i!=j) res+=dp[i][j]; 65 ans=min(ans,res); 66 } 67 printf("%d\n",ans*100/(n-1)); 68 return 0; 69 }
原文地址:https://www.cnblogs.com/VBEL/p/11418288.html
- ExtJs+WCF+LINQ实现分页Grid
- 数据库[分库分表]中间件 Sharding-JDBC 源码分析 —— SQL 解析(四)之插入SQL
- 基于sliverlight + wcf的web 文字版IM 示例
- 数据库中间件 Sharding-JDBC 源码分析 —— SQL 解析(三)之查询SQL
- zephir-(11)流程控制语句
- phalcon-入门篇7(Model层基础使用)
- Sharding-JDBC 源码分析 —— SQL 解析(二)之SQL解析
- zephir-(1)开篇介绍
- phalcon-入门篇6(控制器)
- phalcon-入门篇5(请求与返回)
- phalcon-入门篇2(HelloWord与PhalconTools)
- 数据库中间件 Sharding-JDBC 源码分析 —— SQL 解析(一)之语法解析
- phalcon-入门篇4(log日志和session缓存)
- zephir-(5)类型
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 为什么采用Proxy重构响应系统 | Vue3源码系列
- 制作Linux嵌入式系统开机LOGO(图片)
- R语言奇淫巧技之pdftools包
- 14个Spring MVC超实用技巧!
- 想要成为前端Star 吗?一首歌时间将React / Vue 应用Docker 化
- 初识Pandas
- 【教程】从零制作文件系统到jz2440,使其支持telnet , ftp 和tftp
- Mybatis源码学习第六天(核心流程分析)之Executor分析
- EasyPoi导出Excel
- 盘点 15 个好用的 API 接口管理神器
- JVM学习第二天(垃圾回收器和内存分配策略)大章
- JVM学习第一天(虚拟机的前世今生与与Java的内存区域)
- Android进阶:Binder那么弱怎么面大厂?
- Mybatis源码学习第七天(PageHelper分析)
- 【小程序】728- 小程序如何生成海报分享朋友圈