1 solutions
-
0
#include<bits/stdc++.h> using namespace std; const int N=1e5+10,M=2*N; int h[N],e[M],ne[M],w[M],idx; void add(int a,int b,int c) { e[idx]=b,w[idx]=c,ne[idx]=h[a],h[a]=idx++; } int main() { int n,m; cin>>n>>m; memset(h,-1,sizeof h);//清空头节点 for(int i=1;i<=m;i++) { int a,b,c; cin>>a>>b>>c; add(a,b,c); //添加一条从a到b,边权为c的边 } for(int i=1;i<=n;i++) { if(h[i]!=-1) //说明有点 { cout<<i<<":"; for(int j=h[i];j!=-1;j=ne[j]) { int k=e[j],weight=w[j]; printf("%d(%d) ",k,weight); } cout<<endl; } } return 0; }
- 1
Information
- ID
- 2120
- Time
- 1000ms
- Memory
- 256MiB
- Difficulty
- 5
- Tags
- (None)
- # Submissions
- 1
- Accepted
- 1
- Uploaded By