无向无权图
#include <bits/stdc++.h>
using namespace std ;
vector <int > v[N];
const int N = 1e5 ;
int main()
{
int n, m;
cin >>n>>m;
int s, t;
for (int i = 0 ;i < m; i++) {
cin >>s>>t;
v[s].push_back(t);
v[t].push_back(s);
}
for (int i = 1 ; i< n; i++) {
for (int j = 0 ;j < v[i].size(); j++)
cout <<v[i][j]<<" " ;
cout <<endl;
}
return 0 ;
}
有向无全图
#include <bits/stdc++.h>
using namespace std ;
vector <int > v[N];
const int N = 1e5 ;
int main()
{
int n, m;
cin >>n>>m;
int s, t;
for (int i = 0 ;i < m; i++) {
cin >>s>>t;
v[s].push_back(t);
}
for (int i = 1 ; i< n; i++) {
for (int j = 0 ;j < v[i].size(); j++)
cout <<v[i][j]<<" " ;
cout <<endl;
}
return 0 ;
}
有向有权图
#include <bits/stdc++.h>
using namespace std ;
vector <int > v[N];
const int N = 1e5 ;
struct node {
int t, val;
};
vector <node> v[N];
int main()
{
int n, m,;
cin >>n>>m;
int s;
for (int i = 0 ;i < m; i++) {
node c;
cin >>s>>c.t>>c.val;
v[s].push_back(node);
}
for (int i = 1 ; i< n; i++) {
for (int j = 0 ;j < v[i].size(); j++)
cout <<v[i][j].to<<" " <<v[i][j].val;
cout <<endl;
}
return 0 ;
}