邻接表模板
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++ :)