• P5318 【深基18.例3】查找文献


    https://www.luogu.com.cn/problem/P5318

    存储一:邻接表

     1 #include<cstdio>
     2 #include<vector>
     3 #include<queue>
     4 #include<cstring>
     5 #include<algorithm>
     6 using namespace std;
     7 int n, m, x, y;
     8 const int maxn=100005;
     9 vector<int>a[maxn];//可变的二维数组:邻接表 
    10 bool vis[maxn];//标识是否被访问 
    11 void dfs(int v){
    12     printf("%d ",v);
    13     vis[v]=1;
    14     for(int i=0; i<a[v].size(); i++){
    15         int t=a[v][i];
    16         if(!vis[t])
    17             dfs(t);
    18     }
    19 }
    20 void bfs(int v){
    21     queue<int> que;
    22     que.push(v);
    23     vis[que.front()]=1;
    24     while(!que.empty()){
    25         int t=que.front();
    26         for(int i=0; i<a[t].size(); i++){
    27             int tt=a[t][i];
    28             if(!vis[tt]){
    29                 que.push(tt);
    30                 vis[tt]=1;
    31             }
    32         }
    33         printf("%d ",que.front());
    34         que.pop();
    35     }
    36 }
    37 int main()
    38 {
    39     scanf("%d%d",&n, &m);
    40     for(int i=1; i<=m; i++){
    41         scanf("%d%d", &x, &y);
    42         a[x].push_back(y);    
    43     }
    44     for(int i=1; i<=n; i++)//对每一行进行排序 
    45         sort(a[i].begin(), a[i].end());//对vector进行排序 
    46     
    47     //测试代码
    48 //    for(int i=1; i<=n; i++){
    49 //        printf("%d:",i);
    50 //        for(int j=0; j<a[i].size(); j++)
    51 //            printf("%d ", a[i][j]);
    52 //        printf("
    ");
    53 //    }
    54     //图的遍历
    55     memset(vis, 0, sizeof(vis)); 
    56     dfs(1);
    57     printf("
    ");
    58     memset(vis, 0, sizeof(vis)); 
    59     bfs(1); 
    60     
    61     return 0;
    62  } 
  • 相关阅读:
    VueRouter-404错误配置
    VueRouter-组件复用
    VueRouter-动态路由
    vue-router基本使用
    Vue小作业--图书管理
    Vue的过滤器
    vue的生命周期
    vue中插槽
    vue自定义组件v-model
    Vue组件中自定义事件
  • 原文地址:https://www.cnblogs.com/tflsnoi/p/14526033.html
Copyright © 2020-2023  润新知