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

深圳宝安区住房和建设局网站官网校园网站建设方案策划书

深圳宝安区住房和建设局网站官网,校园网站建设方案策划书,济南做网站互联网公司有哪些,上海华讯网络公司排名题干#xff1a; 杭州有N个景区#xff0c;景区之间有一些双向的路来连接#xff0c;现在8600想找一条旅游路线#xff0c;这个路线从A点出发并且最后回到A点#xff0c;假设经过的路线为V1,V2,....VK,V1,那么必须满足K2,就是说至除了出发点以外至少要经过2个其他不同…题干 杭州有N个景区景区之间有一些双向的路来连接现在8600想找一条旅游路线这个路线从A点出发并且最后回到A点假设经过的路线为V1,V2,....VK,V1,那么必须满足K2,就是说至除了出发点以外至少要经过2个其他不同的景区而且不能重复经过同一个景区。现在8600需要你帮他找一条这样的路线并且花费越少越好。  Input 第一行是2个整数N和MN 100, M 1000)代表景区的个数和道路的条数。  接下来的M行里每行包括3个整数a,b,c.代表a和b之间有一条通路并且需要花费c元(c 100)。 Output 对于每个测试实例如果能找到这样一条路线的话输出花费的最小值。如果找不到的话输出Its impossible.. Sample Input 3 3 1 2 1 2 3 1 1 3 1 3 3 1 2 1 1 2 3 2 3 1 Sample Output 3 Its impossible. 解题报告 模板就是了。。注释下面有。不解释了、、其实还有个更朴素的做法用Dijkstra也可以求最小环ps最小生成树是不是也可以 AC代码 #includecstdio #includeiostream #includealgorithm #includequeue #includemap #includevector #includeset #includestring #includecmath #includecstring #define ll long long #define pb push_back #define pm make_pair #define fi first #define se second using namespace std; const int MAX 2e5 5; ll dis[505][505];//Floyd更新后数据 ll maze[505][505];//原始数据 const ll INF 0x3f3f3f3f3f3f; int n,m; ll floyd() {ll res INF;for(int k 1; kn; k) {for(int i 1; ik; i) {for(int j i1; jk; j) {res min(res,maze[i][k] maze[k][j] dis[i][j]);}}for(int i 1; in; i) {for(int j 1; jn; j) {dis[i][j] min(dis[i][j] , dis[i][k] dis[k][j]);}}} return res; }int main() {ll w;while(cinnm) {for(int i 1; in; i) {for(int j 1; jn; j) {dis[i][j] maze[i][j] INF;}}for(int i 1,a,b; im; i) {scanf(%d%d%lld,a,b,w);if(w maze[a][b]) maze[a][b] maze[b][a] dis[a][b] dis[b][a] w;}ll ans floyd();if(ans INF) puts(Its impossible.);else printf(%lld\n,ans);}return 0 ;} 贴一个代码的讲解 #includecstdio #includealgorithm #includecstring using namespace std; const int INF0xfffffff; //const int INF0x3f3f3f3f; 这里用这个就 WA 想不通为啥 //当然WA了。。因为三个INF相加就溢出了啊 int n,m; int map[110][110],dist[110][110]; void floyd() {int ansINF;for(int k1; kn; k) {for(int i1; ik; i) { // 一个环至少要 3个互不相同点所以保证 k大于 ii大于 jfor(int ji1; jk; j) {ansmin(ans,map[i][k]map[k][j]dist[i][j]); // 得到从 i点出发再回到 i点的最小环}}for(int i1; in; i) {for(int j1; jn; j) {dist[i][j]min(dist[i][j],dist[i][k]dist[k][j]); // 得到 ij两点的最短路径}}//注意求最短路径的循环一定要放在求最小环的循环的下面这是为了保证 dist[i][j]与 map[i][k]map[k][j]不会重路// ans min ( ans , map[i][k] map[k][j] dist[i][j] ) 求最小环式子要求的就是 dist[i][j]中所有的中间点一定小于 k所以不会重路}if(ansINF) puts(Its impossible.);else printf(%d\n,ans); } int main() {while(~scanf(%d %d,n,m)) {for(int i1; in; i) {for(int j1; jn; j) {dist[i][j]map[i][j](ij?0:INF);}}int a,b,c;while(m--) {scanf(%d %d %d,a,b,c);if(map[a][b]c) {dist[a][b]dist[b][a]map[a][b]map[b][a]c;}}floyd();}return 0; }总结 注意这个无向图中你的距离的初始化  到自身可以初始化成0也可以初始化成INF都可以 看心情就行。。 对于有向图就比较简单了可以直接遍历dis[i][i]记录最小值就可以了。
http://www.huolong8.cn/news/187001/

相关文章:

  • 做网站销售工资做公司网站视频
  • 美度手表网站国外装修网站模板
  • 中式设计网站推荐广州企业网站建设公司
  • 宝塔搭建网站教程河南建设监理协会
  • 电子商务网站前台建设常用的技术wordpress站群功能
  • 柳州关键词优化网站app手机网站建设黄
  • 网站推广策划评估工具7校园旅游网站建设方案策划书
  • 广东上海专业网站建设公司哪家好dede自适应网站注意事项
  • 内网小网站的建设乐清网站定制公司
  • 网站风格配置怎么做wordpress中文主题 wp-cms
  • 有哪些设计网站做海报网站
  • 香山红叶建设有限公司网站wordpress打开非常慢
  • 花生壳动态域名申请seo搜索引擎优化推荐
  • 网站续费一般多少钱wordpress 模块
  • 丹东做网站公司怎么在服务器上装WordPress
  • 做ppt图片用的网站有哪些问题erp软件实施
  • 南京做网站南京乐识赞从旁鼓动人做某事 网站
  • 做网站如何与美工配合中国服装设计公司排名
  • 帝国cms更改网站ico培训学校管理系统
  • 营销型网站方案ppt模板创业网站推广怎么做
  • 南昌网站建设和推广上海市招工网
  • 品牌型网站建设解决方案珠海市研发网站建设
  • 百度做网站承德在线招聘
  • 山东省济宁市建设厅官方网站有哪些做淘宝素材的网站有哪些
  • 乐清市建设路小学网站个人建网站一般多少钱?
  • 深圳的网站建设的公司网页是网站的什么颜色好看
  • 网站开发工具报告通信网站建设
  • 在线考试系统网站模板自动推广软件下载
  • 北京鸿讯泰德网站建设wordpress主题:yusi
  • 朔州城市建设网站除了小红书还有什么推广平台