2014年3月6日 星期四
[HOJ] 50 - 幸福幼稚園
#include<stdio.h>
#include<string.h>
struct P{
int x,y;
}s[65005]={0};
int arr[65005];
char c[5];
int main(){
int n,x,i,L,R;
scanf("%d",&n);
for(i=0;i<n;i++){
scanf("%d",&arr[i]);
if(i){
s[arr[i]].x=arr[i-1];
}
}
for(i=0;i<n-1;i++)
s[arr[i]].y=arr[i+1];
L=arr[0],R=arr[n-1];
while(scanf("%s",c)!=EOF){
if(c[0]=='C') break;
scanf("%d",&x);
if(c[0]=='A'){
if(x==L) continue;
if(x==R){
R=s[x].x;
s[x].x=0;
s[x].y=L;
L=x;
continue;
}
s[s[x].x].y=s[x].y;
s[s[x].y].x=s[x].x;
s[L].x=x;
s[x].x=0;
s[x].y=L;
L=x;
}
else{
if(x==R) continue;
if(x==L){
L=s[x].y;
s[x].y=0;
s[x].x=R;
R=x;
continue;
}
s[s[x].x].y=s[x].y;
s[s[x].y].x=s[x].x;
s[R].y=x;
s[x].y=0;
s[x].x=R;
R=x;
}
}
printf("%d",L);
L=s[L].y;
while(L){
printf(" %d",L);
L=s[L].y;
}
puts("");
}
訂閱:
張貼留言 (Atom)
沒有留言:
張貼留言