欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 科技 > 能源 > AcWing847. 图中点的层次

AcWing847. 图中点的层次

2025/2/7 15:00:13 来源:https://blog.csdn.net/weixin_46028606/article/details/141335500  浏览:    关键词:AcWing847. 图中点的层次

本题采用拉链法,哈希方式是int k->int v,k是点,v是另外一条点v对应的下标
add函数里面h[a]表示点a关联的另外一条点b在e中的下标
bfs函数里面j表示的也是下标,表示点t关联的下标,
d数组表示点1到另外某个点的距离,比如d【j】是表示点1到点j的最短距离

#include<iostream>
#define N 100086
#include<queue>
#include<cstring>
using namespace std;
int e[N],ne[N],h[N],idx;
int d[N];
int n,m;
queue<int> q;
void add(int a,int b){e[idx]=b,ne[idx]=h[a],h[a]=idx++;
}
int bfs(){q.push(1);d[1]=0;while(q.size()){int t=q.front();q.pop();for(int i=h[t];i!=-1;i=ne[i]){int j=e[i];if(d[j]==-1){d[j]=d[t]+1;q.push(j);}}}return d[n];
}
int main(){memset(h,-1,sizeof h);memset(d,-1,sizeof d);cin>>n>>m;for(int i=1;i<=m;++i){int a,b;cin>>a>>b;add(a,b);}cout<<bfs()<<endl;return 0;
}

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com