求助floyd 80分

P1346 电车

显然的,floyd 被插的点要再最外面枚举
by __KrNalty__ @ 2022-07-28 19:01:22


*在
by __KrNalty__ @ 2022-07-28 19:01:40


@[Happy_GG](/user/577999)
by __KrNalty__ @ 2022-07-28 19:01:48


@[__KrNalty__](/user/386913) 草(一种植物) 是我记忆缺失了() thx
by Happy_GG @ 2022-07-28 19:05:34


代码 ```cpp #include<iostream> #include<cstdio> #include<algorithm> #include<cstring> using namespace std; const int maxn=100+10; const int inf=1e+8; int g[maxn][maxn]; int n,m,k,f,t; int main() { scanf("%d%d%d",&n,&f,&t); for(int i=1;i<=n;i++) for(int j=1;j<=n;j++) {g[i][j]=inf;g[i][i]=0;} for(int i=1;i<=n;i++){ scanf("%d",&k); for(int j=1;j<=k;j++){ int a; scanf("%d",&a); if(j==1)g[i][a]=0; else g[i][a]=1; } } for(int k=1;k<=n;k++) for(int i=1;i<=n;i++) for(int j=1;j<=n;j++) g[i][j]=min(g[i][j],g[i][k]+g[k][j]); if(g[f][t]==inf)puts("-1"); else printf("%d",g[f][t]); } ```
by jiangyang123 @ 2023-06-11 13:54:06


|