102 条题解
-
-2
#include<bits/stdc++.h> using namespace std; long long read(){ long long ans=0,f=1; char ch=getchar(); while(!isdigit(ch)){ f*=(ch=='-')?-1:1; ch=getchar(); } while(isdigit(ch)){ ans=(ans<<3)+(ans<<1)+(ch^48); ch=getchar(); } return ans*f; } const int MAXN=505; int e[MAXN][MAXN],n,m,a,b; int main(){ n=read(),m=read(); memset(e,0x3f,sizeof(e)); for(int i=1;i<=m;i++){ int x=read(),y=read(),l=read(); e[x][y]=l;e[y][x]=l; } for(int k=1;k<=n;k++){ for(int i=1;i<=n;i++){ for(int j=1;j<=n;j++){ e[i][j]=min(e[i][j],e[i][k]+e[k][j]); } } } a=read(),b=read(); if(e[a][b]==0x3f3f3f3f)cout<<"No path"; else printf("%d",e[a][b]); }
信息
- ID
- 1
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 10
- 标签
- 递交数
- 843
- 已通过
- 300
- 上传者