見出し画像

日刊競プロ ABC 061 - B - Counting Roads-

B - Counting Roads

問題文
N 個の都市があり、M 本の道路があります。
i(1≦i≦M) 番目の道路は、都市 aiと 都市 bi​(1≦ai​,bi​≦N) を双方向に結んでいます。同じ 2 つの都市を結ぶ道路は、1 本とは限りません。
各都市から他の都市に向けて、何本の道路が伸びているか求めてください。
制約
2≦N,M≦50
1≦ai​,bi​≦N
ai≠bi
​入力は全て整数である。

考えたこと

入力が以下だった場合
4 3
1 2
2 3
1 4

1:[2,4],2:[1,3],3:[2],4:[1]というような辞書を作成して、配列内に入っている道の総数を出力してあげれば良いと考えました。

なので連想行列defaultdictを使ってlist型の辞書を作成すれば良いと考えました。

from collections import defaultdict
N,M = map(int,input().split())
d = defaultdict(list)
for _ in range(M):
 a,b = map(int,input().split())
 d[a].append(b)
 d[b].append(a)
for i in range(N):
 print (len(d[i+1]))
​


東京駅前の道は、いつもため息出るくらい綺麗


いいなと思ったら応援しよう!