Aizu Online Judge(AOJ)の過去問から、その提出コードの解答例です。
・問題 "Splice"
https://onlinejudge.u-aizu.ac.jp/problems/ITP2_2_D
僕が作成、提出したコードは、以下のとおりです。
Aizu Online Judge in C++ #ITP2_2_D : Splice
/* Aizu Online Judge in C++ #ITP2_2_D : Splice https://onlinejudge.u-aizu.ac.jp/problems/ITP2_2_D 提出コードの解答例 https://neguse-atama.hatenablog.com */ #include<bits/stdc++.h> using namespace std; int main(void){ int n,q; cin>>n>>q; vector<list<int> > s(n); for(int i=0;i<q;i++){ int query; cin>>query; if(query==0){ int t,x; cin>>t>>x; s[t].insert(s[t].end(),x); }else if(query==1){ int t; cin>>t; int f=0; for(int j : s[t]){ cout<<(f++ ? " " : "")<<j; } cout<<endl; }else{ int S,T; cin>>S>>T; s[T].splice(s[T].end(),s[S],s[S].begin(),s[S].end()); s[S].clear(); } } return 0; }
設問の出典は、プログラミング問題のオンライン採点システム「Aizu Online Judge(AOJ)」です。
http://judge.u-aizu.ac.jp/onlinejudge/