题目链接:
https://www.luogu.org/problemnew/show/P2888
思路:
1:修改floyd算法
if(d[i][j]>max(d[i][k],d[k][j]))
{
d[i][j]=max(d[i][k],d[k][j]);
}
算法:
1:floyd算法变形
#include <bits/stdc++.h>
using namespace std;
const int maxn=301;
int n,m,t,d[maxn][maxn],a,b,c;
void init()
{
for(int i=1;i<=n;i++)
{
for(int j=1;j<=n;j++)
{
if(i==j)
{
d[i][j]=0;
}
else
{
d[i][j]=1e9;
}
}
}
}
int main()
{
cin>>n>>m>>t;
init();
for(int i=0;i<m;i++)
{