王道上机指南例5_3
#include<stdio.h>
int main(){
int n,m,t,i,cnt=0,animal[1000]={0},ans[1000]={0},k=0;
scanf("%d",&n);
for(i=0;i<n;i++){
scanf("%d %d",&m,&t);
if(m==1){
animal[cnt++]=t;
}
if(m==2){
if(t==0){
for(int j=0;j<cnt;j++){
if(animal[j]!=0){
ans[k++]=animal[j];
animal[j]=0; //被收养后置0,表示为空
continue;
}
}
}
if(t==1){
for(int j=0;j<cnt;j++){
if(animal[j]>0){
ans[k++]=animal[j];
animal[j]=0;
continue;
}
}
}
if(t==-1){
for(int j=0;j<cnt;j++){
if(animal[j]<0){
ans[k++]=animal[j];
animal[j]=0;
continue;
}
}
}
}
}
for(i=0;i<k;i++){
printf("%d ",ans[i]);
}
return 0;
}
tips:就没有用队列了,直接模拟做的