我是靠谱客的博主 正直龙猫,最近开发中收集的这篇文章主要介绍第十二届蓝桥杯B组E路径,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

//迪杰斯特拉求最短路
#include<bits/stdc++.h>
using namespace std;
int a[2022][2022];
int gcd(int x,int y){
	if(y==0){
		return x;
	}else{
		return gcd(y,x%y);
	}
}
int main(){
	int n=2021;
	int dis[2022],book[2022],i,j,inf=0x3f3f3f3f,min,u,v;
	for(i=1;i<=2021;i++){
		for(j=1;j<=2021;j++){
			if (i==j){
				a[i][j]=0;
			}else{a[i][j]=inf; }
		}
	}
	for(i=1;i<=2021;i++){
		for(j=1;j<=2021;j++){
			if(abs(i-j)<=21&&i!=j)
			a[i][j]=i*j/gcd(i,j);
		}
	}
	for(i=1;i<=2021;i++)
	dis[i]=a[1][i];
	for(i=1;i<=2021;i++)
	book[i]=0;
	book[1]=1;
	for(i=1;i<=2020;i++){
		min=inf;
		for(j=1;j<=2021;j++){
			if(book[j]==0&&dis[j]<min){
				min=dis[j];
				u=j;
			}
		} 
		book[u]=1;
		for(v=1;v<=2021;v++){
			if(a[u][v]<inf){
			if(dis[v]>dis[u]+a[u][v]){
				dis[v]=dis[u]+a[u][v];
			}
		}
	}
}
	printf("%d",dis[2021]);
}
//答案:10266837

最后

以上就是正直龙猫为你收集整理的第十二届蓝桥杯B组E路径的全部内容,希望文章能够帮你解决第十二届蓝桥杯B组E路径所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(75)

评论列表共有 0 条评论

立即
投稿
返回
顶部