zoukankan      html  css  js  c++  java
  • sdut2139图结构练习——BFS——从起始点到目标点的最短步数

    http://acm.sdut.edu.cn/sdutoj/problem.php?action=showproblem&problemid=2139

    BFS 借助队列 将节点的邻接点依次存入队中

    View Code
     1 #include <stdio.h>
     2 #include <stdlib.h>
     3 #include<string.h>
     4 int k[1001][1001],f[1001],n,m,p = 0,w;
     5 typedef struct node
     6 {
     7     int num,y;
     8 }st;
     9 st q[1001];
    10 void inque(int x)
    11 {
    12     p++;
    13     q[p].y = x;
    14     f[x] = 1;
    15 }
    16 int main()
    17 {
    18     int i,j,a,b;
    19     while(scanf("%d%d", &n, &m)!=EOF)
    20     {
    21         memset(k,0,sizeof(k));
    22         memset(f,0,sizeof(f));
    23         memset(q,0,sizeof(q));
    24         p = 0;
    25         int flag = 0;
    26         for(i = 1 ; i <= m ; i++)
    27         {
    28             scanf("%d%d", &a, &b);
    29             k[a][b] = 1;
    30         }
    31         inque(n);
    32         q[p].num = 0;
    33         w = 0;
    34         do
    35         {
    36             w++;
    37             for(i = 1 ; i <= n ; i++)
    38             {
    39                 if(k[q[w].y][i] == 1&&f[i] == 0)
    40                 {
    41                     inque(i);
    42                     q[p].num = q[w].num+1;
    43                     if(i == 1)
    44                     {
    45                         flag = 1;
    46                         break;
    47                     }
    48                 }
    49             }
    50             if(flag == 1)
    51             break;
    52         }while(p!=w);
    53         if(flag == 1)
    54         printf("%d\n",q[p].num);
    55         else
    56         printf("NO\n");
    57     }
    58     return 0;
    59 }
  • 相关阅读:
    JS-07 (js的面向对象编程)
    AI SiameseFC
    phpstorm调试
    Php 编译扩展
    canvas
    AI FCN
    AI WebGL
    Python flask
    JIT 即时编译
    小程序
  • 原文地址:https://www.cnblogs.com/shangyu/p/2586475.html
Copyright © 2011-2022 走看看