题目地址:点击打开链接
C++代码:
#include #include #include #include using namespace std;const int maxsize=1010;struct LinkNode{ LinkNode *left,*right; int data;};void del(LinkNode *p){ LinkNode *l=p->left; LinkNode *r=p->right; l->right=r; if(r) r->left=l; delete p;}void ins(LinkNode *p,int x){ LinkNode *q=new LinkNode; q->data=x; q->left=p; q->right=p->right; if(p->right) p->right->left=q; p->right=q;}int main(){ int n; int cas=1; while(cin>>n&&n!=0) { LinkNode *p[maxsize]={NULL}; LinkNode *head=new LinkNode; head->right=NULL; LinkNode *last=head; map mii; int i; for(i=0;i { int k; cin>>k; while(k--) { int x; cin>>x; mii.insert(make_pair(x,i)); } } string s; int x; cout<<"Scenario #"< while(cin>>s&&s!="STOP") { if(s=="ENQUEUE") { cin>>x; if(p[mii[x]]==NULL||p[mii[x]]==last) { ins(last,x); last=last->right; p[mii[x]]=last; } else { ins(p[mii[x]],x); p[mii[x]]=p[mii[x]]->right; } } else { x=head->right->data; if(p[mii[x]]==head->right) p[mii[x]]=NULL; del(head->right); cout< } } cout< } return 0;}
UVa540 - Team Queue,布布扣,bubuko.com