A61 - Adjacent Vertices
Editorial
/
/
Time Limit: 1 sec / Memory Limit: 1024 MiB
配点: 1000 点
問題文
頂点数 N、辺数 M のグラフが与えられます。頂点には 1 から N までの番号が付けられており、i 番目の辺は頂点 A_i と B_i を双方向に結んでいます。 それぞれの k について、「頂点 k と隣接している頂点の番号」をすべて出力するプログラムを作成してください。
制約
- 2 \leq N \leq 100000
- 1 \leq M \leq 100000
- 1 \leq A_i \lt B_i \leq N\ (1\leq i\leq M)
- i \neq j \implies (A_i,B_i) \neq (A_j,B_j)
- 入力は全て整数
入力
入力は以下の形式で標準入力から与えられます。
N M A_1 B_1 A_2 B_2 \vdots A_M B_M
出力
N 行にわたって出力してください。k 行目には、頂点 k と隣接している頂点の番号を、出力例の形式にならって出力してください(出力の順序は問いません)。
入力例 1
5 4 1 2 2 3 3 4 3 5
出力例 1
1: {2}
2: {1, 3}
3: {2, 4, 5}
4: {3}
5: {3}
与えられたグラフは次のようになります。

たとえば 2 行目については、2: {1, 3} ではなく 2: {3, 1} と出力しても正解となります。
入力例 2
15 30 6 9 9 10 2 9 9 12 2 14 1 4 4 6 1 3 4 14 1 6 9 11 2 6 3 9 5 9 4 9 11 15 1 13 4 13 8 9 9 13 5 15 3 5 8 10 2 4 9 14 1 9 2 8 6 13 7 9 9 15
出力例 2
1: {3, 4, 6, 9, 13}
2: {4, 6, 8, 9, 14}
3: {1, 5, 9}
4: {1, 2, 6, 9, 13, 14}
5: {3, 9, 15}
6: {1, 2, 4, 9, 13}
7: {9}
8: {2, 9, 10}
9: {1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15}
10: {8, 9}
11: {9, 15}
12: {9}
13: {1, 4, 6, 9}
14: {2, 4, 9}
15: {5, 9, 11}