2018 “百度之星”程序设计大赛 - 初赛(A)1002-度度熊学队列
程序员文章站
2022-07-03 18:19:25
...
思路:STL大法好呀--菜鸡的我QAQ
Code:
#include<iostream>
#include<algorithm>
#include<list>
#include<cstdio>
using namespace std;
const int MAX_N=150005;
int n,Q;
list<int> lis[MAX_N];
int main()
{
while(~scanf("%d%d",&n,&Q)){
for(int i=0;i<=n;++i)
lis[i].clear();
int x,u,v,w,val;
while(Q--){
scanf("%d",&x);
if(x==1){
scanf("%d%d%d",&u,&w,&val);
if(w){
lis[u].push_back(val);
}else lis[u].push_front(val);
}else if(x==2){
scanf("%d%d",&u,&w);
int ans=-1;
if(!lis[u].empty()){
if(w){
ans=lis[u].back();
lis[u].pop_back();
}else{
ans=lis[u].front();
lis[u].pop_front();
}
}
printf("%d\n",ans);
}else{
scanf("%d%d%d",&u,&v,&w);
if(!lis[v].empty()){
if(w) lis[v].reverse();
lis[u].insert(lis[u].end(),lis[v].begin(),lis[v].end());
lis[v].clear();
}
}
}
}
return 0;
}