社区讨论

40pts求改正(玄关)

P1613跑路参与者 2已保存回复 3

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
3 条
当前快照
1 份
快照标识符
@mljf6eae
此快照首次捕获于
2026/02/12 20:13
7 天前
此快照最后确认于
2026/02/15 12:55
4 天前
查看原帖
CPP

#include<bits/stdc++.h>
using namespace std;
bool f[65][65][65];
int dis[65][65];
int main(){
    memset(dis,10,sizeof(dis));
    int n,m;
    cin>>n>>m;
    for(int i=1;i<=m;i++){
        int u,v;
        cin>>u>>v;
        dis[u][v]=1;
        f[u][v][0]=true;
    }
    for(int w=1;w<=725;w++)
        for(int i=1;i<=n;i++)
            for(int t=1;t<=n;t++)
                for(int j=1;j<=n;j++)
                    if(f[i][t][w-1]&&f[t][j][w-1]){
                        dis[i][j]=1;
                        f[i][j][w]=1;
                    }
    for(int k=1;k<=n;k++)
        for(int i=1;i<=n;i++)
            for(int j=1;j<=n;j++)
                dis[i][j]=min(dis[i][j],dis[i][k]+dis[k][j]);
    cout<<dis[1][n];
    return 0;
}

回复

3 条回复,欢迎继续交流。

正在加载回复...