zoukankan      html  css  js  c++  java
  • POJ 2457 BFS

    题意:
    这里写图片描述
    这里写图片描述
    说人话:
    从A到B连边 找从1到k的最短路 并输出路径(随便一条即可 )
    如果不能到达 输出-1
    思路:

    //By SiriusRen
    #include <queue>
    #include <cstdio>
    #include <cstring>
    #include <algorithm>
    using namespace std;
    #define N 100500
    int n,k,xx,yy,first[N],next[N],w[N],v[N],tot,vis[N],dis[N],zhuan[N];
    void add(int x,int y){v[tot]=y,next[tot]=first[x],first[x]=tot++;}
    void bfs(){
        queue<int>q;q.push(1);
        memset(dis,0x3f,sizeof(dis));dis[1]=0;
        while(!q.empty()){
            int x=q.front();q.pop();
            if(vis[x])continue;
            vis[x]=1;
            for(int i=first[x];~i;i=next[i])
                if(!vis[v[i]]&&dis[v[i]]>dis[x]+1){
                    zhuan[v[i]]=x;
                    dis[v[i]]=dis[x]+1;
                    q.push(v[i]);
                }
        }
    }
    void dfs(int x){
        if(!x)return;
        dfs(zhuan[x]);
        printf("%d
    ",x);
    }
    int main(){
        memset(first,-1,sizeof(first));
        scanf("%d%df",&n,&k);
        for(int i=1;i<=n;i++)scanf("%d%d",&xx,&yy),add(xx,yy);
        bfs();
        if(dis[k]<=0x3ffffff)printf("%d
    ",dis[k]+1),dfs(k);
        else puts("-1");
    }

    这里写图片描述

  • 相关阅读:
    vue的选项
    css(3)基础知识查漏补缺
    总结获取网页相关的一些宽高
    vue的全局api(二)
    vue的全局api
    vue的内部指令
    Java File
    Java File IO学习笔记
    systemctl介绍
    java学习笔记一(20180319)
  • 原文地址:https://www.cnblogs.com/SiriusRen/p/6532203.html
Copyright © 2011-2022 走看看