这个题好像可以用最短路做吧
查看原帖
这个题好像可以用最短路做吧
774677
iakioi114514楼主2024/4/15 21:34

Floyd:Floyd:

#include<bits/stdc++.h>
using namespace std;
int x,y,z,g[1001][1001];
int main(){
	cin>>x>>y>>z;
	g[1][2]=g[2][1]=x;
	g[2][3]=g[3][2]=y;
	g[1][3]=g[3][1]=z;
	for(int k=1;k<=3;k++){
		for(int i=1;i<=3;i++){
			for(int j=1;j<=3;j++){
				g[i][j]=min(g[i][j],g[i][k]+g[k][j]);
			}
		}
	}
	cout<<g[1][2]<<endl<<g[2][3]<<endl<<g[1][3]<<endl;
	return 0;
}

对于学最短路FloydFloyd和Bellman−FordBellman-Ford的新手,这个题可以练练手。

2024/4/15 21:34
加载中...