2030ssxx level
获赞
1
粉丝
0
关注
5
看过 TA
8
南京林业大学
2025
算法工程师
IP属地:江苏
暂未填写个人简介
私信
关注
//还可以只定义猫狗两个队列,但是queue的数据类型为结构体animal,该结构体内部还有一个记录次序的int#include <iostream>#include <queue>using namespace std;int main(){queue<int> cat;//负数queue<int> dog;//正数queue<int> animal;int n;cin>>n;int m,t;for(int i=1;i<=n;i++){cin>>m>>t;if(m==1&&t>0)//进来狗{dog.push(t);animal.push(t);}else if(m==1&&t<0){cat.push(t);animal.push(t);}else if(m==2 &&t==0)//第一种收养方式{if(!animal.empty()){int x=animal.front();//该动物的编号cout<<x<<" ";animal.pop();if(x>0)//最先的动物是狗{dog.pop();}else{cat.pop();}}}else if(m==2 && t==1)//收养狗{if(!dog.empty()){int x=dog.front();cout<<x<<" ";dog.pop();if(animal.front()==x){animal.pop();}else{int count=0;//被临时后置的动物数量while(animal.front()!=x){count++;int y=animal.front();animal.pop();animal.push(y);}animal.pop();int countt=animal.size()-count;for(int i=1;i<=countt;i++){int y=animal.front();animal.pop();animal.push(y);}}}}else if(m==2 && t==-1)//收养猫{if(!cat.empty()){int x=cat.front();cout<<x<<" ";cat.pop();if(animal.front()==x){animal.pop();}else{int count=0;//被临时后置的动物数量while(animal.front()!=x){count++;int y=animal.front();animal.pop();animal.push(y);}animal.pop();int countt=animal.size()-count;for(int i=1;i<=countt;i++){int y=animal.front();animal.pop();animal.push(y);}}}}}return 0;}
0 点赞 评论 收藏
分享

创作者周榜

更多
关注他的用户也关注了:
牛客网
牛客网在线编程
牛客网题解
牛客企业服务