Problem5409--链式前向星

5409: 链式前向星

Time Limit: 1.000 Sec  Memory Limit: 128 MB
Submit: 35  Solved: 16
[Submit] [Status] [Web Board] [Creator:]

Description

 输入n,m代表这幅图有n个顶点,m条边,接下去m行三个数,分别代表起始点,终点及其权值。 请按输入顺序倒序输出每个顶点以及所连的终点以及权值。


 

Sample Input

5 5
4 1 1
4 5 2
3 4 3
1 2 4
1 3 5

Sample Output

1
1 3 5
1 2 4
2
3
3 4 3
4
4 5 2
4 1 1
5

HINT

#include<bits/stdc++.h>
using namespace std;

const int N = 1000005;
int h[N], idx;
struct edge{
int v, w, nxt;
} e[N];
int n, m, a, b, w;
void add(int a, int b, int w)
{
e[idx].v = b, e[idx].w = w, e[idx].nxt = h[a], h[a] = idx ++;
}
int main()
{
cin >> n >> m;
memset(h, -1, sizeof h);
for (int i = 1; i <= m; i ++) {
cin >> a >> b >> w;
add(a, b, w);
}
for (int i = 1; i <= n; i ++) {
cout << i << endl;
for (int j = h[i]; j != -1; j = e[j].nxt){
cout << i << " " << e[j].v << " " << e[j].w << endl;
}
}

}


Source/Category

 

[Submit] [Status]