隣接リスト(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)

この記事が気に入ったらサポートをしてみませんか?