0
Я сделал простой код, чтобы взять число вершин и количество ребер в качестве входных данных, взять каждое ребро и добавить его в список этой вершины. Однако я не понимаю.Список смежности графика, дающий неправильный вывод
#include <iostream>
#include <list>
using namespace std;
int main()
{
int t;
cin>>t;
while(t--) {
int n,m; // number of vertices and edges
cin>>n>>m;
list<int> a[n];
list<int>::iterator it;
while(m--) {
int x,y;
cin>>x>>y; // one edge x & y are vertices
a[x-1].push_back(y-1); // -1 because it array is 0 index based
}
for(int i=0;i<n;i++) {
for(it= a[i].begin();it!=a[i].end();it++) {
cout<<*it<<" ";
}
cout<<endl;
}
}
return 0;
}
Пусть говорят мой тестовый вход случай:
1
3 3 // number of edges and vertices
1 2
2 3
3 1
Ожидаемый результат должен быть:
2 3
1 2
2 1