蓝桥练习06-Floyd(多源最短路径问题)

代码骑士
优质创作者: 游戏开发技术领域
2023-04-07 19:33:37

Description

汤姆想去市中心看望他的老朋友杰瑞,但是汤姆遇到了一个问题,他想知道怎样才能最快地到达市中心,现在城市的公交车站有n[2,100]个,城市里有m[1,1000]条公交线路。汤姆在第一个汽车站,杰瑞在第n个汽车站。

Input

第一行是(m,n)

接下来的m行是a,b,c (a,b是汽车站的名称,c是从a站到b站的时间)

Output

汤姆到达市中心的最短时间。

Sample Input

1 2
1 2 10
3 4
1 2 10
2 3 10
3 4 10

Sample Output

10
30

 

 

思路:裸题,Floyd算法。

 

代码:

#include<bits/stdc++.h>
#define MAX 101
#define INF 100000005
using namespace std;
int G[MAX][MAX];
int n,m;//顶点数,边数

void InitG(int n){
	for(int i=1;i<=n;i++){
		for(int j=1;j<=n;j++){
			G[i][j]=INF;
		}	
	}	
}

void OutPutG(int n){
	for(int i=1;i<=n;i++){
		for(int j=1;j<=n;j++){
			cout<<G[i][j]<<'\t';
		}	
		cout<<endl;
	}	
}

int main(){
	int i,j,w=0;//边权 
	cin>>m>>n;//m-边 ,n-顶点
	InitG(n);//初始化 
	for(int k=1;k<=m;k++){//赋权值 
		cin>>i>>j>>w;
		G[i][j]=G[j][i]=w;
	}
	//Floyd
	for(int i=1;i<=n;i++){
		for(int j=1;j<=n;j++){
			for(int k=1;k<=n;k++){
				G[i][j]=min(G[i][k]+G[k][j],G[i][j]);
			}
		}
	} 
	cout<<G[1][n]<<endl;
	//OutPutG(n); 
	return 0;
}

输出:

 

...全文
583 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
内容概要:本文档系统讲解了创意版烟花的完整实现路径,从粒子系统原理出发,深入剖析烟花效果的五大核心阶段——上升、爆炸、扩散、衰减与拖尾,并基于四种技术栈(HTML5 Canvas、Three.js、Python Pygame、AI音乐节拍同步)提供可运行的完整代码方案。文档涵盖基础实现、视觉增强(形状变化、闪烁、二次爆炸)、交互升级(鼠标拖动、手势控制)、性能优化(对象池、渲染优化)、部署上线(GitHub Pages、Vercel)及创意拓展(文字烟花、数据可视化、协同互动),形成“原理→编码→调优→部署→创新”的闭环学习链路。同时融入Web Audio API节拍检测、滑动窗口动态阈值等实用算法,助力开发者打造兼具美观性与技术深度的动态视觉作品。; 适合人群:具备基础编程能力的前端开发者、Python爱好者、多媒体交互设计人员,以及希望提升图形编程与动效设计能力的工作1-3年研发人员;也适用于教学演示、作品集建设或创意项目原型开发。; 使用场景及目标:①掌握粒子系统在动画与游戏开发中的底层实现机制;②实现网页端与桌面端的高性能烟花特效;③构建音乐可视化、数据艺术、互动装置等融合型项目;④学习从代码实现到线上部署的全流程工程实践。; 阅读建议:建议按照“Canvas基础→进阶优化→3D/Pygame/AI扩展”的路径逐步实践,重点关注参数调优表与性能优化策略,在调试中理解每行代码的作用;对于音乐同步等复杂功能,可先运行成功案例再深入算法逻辑,结合实际项目需求灵活组合各项技术模块。

5

社区成员

发帖
与我相关
我的任务
社区描述
考研408:数据结构、计算机组成原理、操作系统、计算机网络
学习方法考研面试 其他
社区管理员
  • 代码骑士
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧