C语言代码
#include<stdio.h> #include<vector> using namespace std; int main(){ int n,m,x,y; vector <int> v[10001]; scanf("%d %d",&n,&m); for(int i=0;i<m;i++){ scanf("%d %d",&x,&y); v[x].push_back(y); } for(int i=1;i<=n;i++){ if(v[i].size()!=0){ for(int j=0;j<v[i].size();j++){ if(j<v[i].size()-1){ printf("%d ",v[i][j]); }else{ printf("%d",v[i][j]); } } } if(i<n){ printf(" "); } } return 0; }
C语言代码
#include<stdio.h> #include<vector> using namespace std; int main(){ int n,m; int a,b; vector<int> v[10001]; scanf("%d %d",&n,&m); for(int j=1;j<=n;j++){ v[j].push_back(j); } for(int i=0;i<m;i++){ scanf("%d %d",&a,&b); if(a!=b){ for(int k=0;k<v[b].size();k++){ v[a].push_back(v[b][k]); } int d=v[b].size(); for(int p=0;p<d;p++){ v[b].pop_back(); } vector<int> s; v[b].swap(s); //printf("%d %d ",b,v[b].size()); }else{ continue; } } for(int i=1;i<=n;i++){ for(int j=0;j<v[i].size();j++){ printf("%d",v[i][j]); if(j<v[i].size()-1){ printf(" "); } } if(i!=n){ printf(" "); } } return 0; }