• 邻接表模板


     1 #include<bits/stdc++.h>
     2 using namespace std;
     3 int tot,nxt[100005],head[100005],u[100005],v[100005],w[100005];
     4 int n,m;
     5 int add_edge(int a,int b,int c)
     6 {
     7     tot++;
     8     v[tot]=b;
     9     w[tot]=c;
    10     nxt[tot]=head[a];
    11     head[a]=tot;
    12 }//输入边
    13 int main()
    14 {
    15     cin>>n>>m;
    16     int a,b,c;
    17     memset(head,-1,sizeof(head));//重置数组
    18     for(int i=1;i<=m;i++)
    19     {
    20         cin>>a>>b>>c;
    21         add_edge(a,b,c);
    22     }
    23     int now;
    24     for(int i=1;i<=n;i++) 
    25     {
    26         now=head[i];
    27         while(now!=-1)
    28         {
    29             cout<<i<<' '<<v[now]<<' '<<w[now]<<endl;
    30             now=nxt[now];
    31         }
    32     }//遍历输出
    33     return 0;
    34 }
    35 /*
    36 4 5   
    37 1 4 9   
    38 4 3 8   
    39 1 2 5   
    40 2 4 6   
    41 1 3 7 
    42 */

     NOIp day2 rp++ :)

  • 相关阅读:
    文件系统操作与磁盘管理
    文件打包与解压缩
    环境变量与文件查找
    Linux目录结构及文件基本操作
    vim3
    vim2
    vim1
    用户管理
    初识
    第一章
  • 原文地址:https://www.cnblogs.com/ssf-xiaoban/p/9940675.html
Copyright © 2020-2023  润新知