隣接リスト(C++,Python)
入力例
1行目は頂点数n,辺の本数mが与えられる。
次のm行の入力で、辺Eiが頂点Aiと頂点Biを結んでいるという情報が与えられる。
C++
# include <iostream>
# include <list>
using namespace std;
int main(){
int n,m;
cin >> n >> m;
list<list<int>> e;
for(int i=0;i<n;i++){
list<int> tmp;
e.push_back(tmp);
}
auto itr = e.begin();
for(int i=0;i<m;i++){
int a,b;
cin >> a >> b;
a--; b--;
(*next(itr,a)).push_back(b);
(*next(itr,b)).push_back(a);
}
}
C++のコード書く際に参考にしたリンク
Python
n,m = map(int,input().split())
e = []
for _ in range(n):
e.append([])
for _ in range(m):
a,b = map(int,input().split())
a -= 1
b -= 1
e[a].append(b)
e[b].append(a)
この記事が気に入ったらサポートをしてみませんか?