欢迎您访问365答案网,请分享给你的朋友!
生活常识 学习资料

小猫钓鱼--c++实现,队列,栈,应用

时间:2023-04-29

小猫钓鱼都知道怎么玩吧,那怎么用代码表示呢?其实用C++的队列和栈的知识很容易实现,下面展示一下我的代码(该代码规则是完全按照q1先出q2后出的规矩,不管是否收牌)

#include#include#includeusing namespace std;int a[11];int main(){for(int i=1;i<=10;i++){a[i]=0;}stack s;queue q1,q2;int n;cin>>n;int z,m,t;for(int i=1;i<=n;i++){cin>>z;q1.push(z);}for(int i=1;i<=n;i++){cin>>z;q2.push(z);}while(q1.size()!=0&&q2.size()!=0){t=q1.front();if(a[t]==1){q1.pop();q1.push(t);a[t]=0;while(s.top()!=t){m=s.top();q1.push(m);s.pop(); a[m]=0;}m=s.top();q1.push(m);s.pop();a[m]=0;}else{q1.pop();s.push(t);a[t]=1;}if(q1.empty()==1){break;}t=q2.front();if(a[t]==1){q2.pop();q2.push(t);a[t]=0;while(s.top()!=t){ m=s.top();q2.push(m);s.pop();a[m]=0; }m=s.top();q2.push(m);s.pop();a[m]=0;}else{q2.pop();s.push(t);a[t]=1;}}if(q1.size()!=0){cout<<"q1获胜,手里的牌有"<

哪里不对欢迎指教。

(祖国必然统一!!!)

Copyright © 2016-2020 www.365daan.com All Rights Reserved. 365答案网 版权所有 备案号:

部分内容来自互联网,版权归原作者所有,如有冒犯请联系我们,我们将在三个工作时内妥善处理。