原题

转载

这是一道很好的队列练手题

当然也可以用vectorvector做,只是要用到迭代器,有些许的麻烦

所以这题用队列(queue)(queue)会更方便,但vectorvector我也会说

先看queuequeue:

解题分3步走:

1:1:输入数据

2:2:执行中间的一大堆指令

3:3:输出

你可能会说:这不简单?

别急,我们先会议一遍队列的基本知识

1.1. 定义需要头文件#include

2.2. 定义格式为:queue<变量类型,如int,double等> 变量名

3.3. 一些常用的操作你还记得哪些?q.pop()弹出队首q.pop()弹出队首,q.push()q.push()把一个元素放到队尾,常用来输入,q.front()q.front()是队首,q.rear()q.rear()是队尾

基本知识过完了,我们来解题。

#include<cstdio>
#include<string>
#include<iostream>
#include<queue>
using namespace std;
int main(){string d,r;d="Discarded cards";//这个词组是弃牌的意思 r="Remaining card";//这个词组还剩多少牌 int num;//表示第几个数 int fact=1;while(cin>>num&&num!=0){//多组数据输入,步骤1完成 queue<int> q;//由于队列没有清空的方法,得这样才能做到清空 for(int i=1;i<=num;++i){q.push(i);//把i元素放到队尾 }cout<<d<<": ";//先输出 bool flag=1;//flag标记数组 while(q.size()>=2){int put=q.front();//put记录每一次的队首元素 if(flag==1){//标记为1,按题意输出队首 cout<<put;flag=0;//标记为0 }else{//否则cout<<", "<<put;//打个逗号 ,再输出队首 }q.pop();//按题意,先弹出队首 q.push(q.front());//也可以:q.push(put)); q.pop();//再弹出 //不知不觉,步骤2完成了 }cout<<endl;//转行 //这个坑点要注意啊,冒号后面有个空格 cout<<r<<": "<<q.front()<<endl;//输出并转行 }return 0;
}

【548. 卡片游戏】相关推荐

  1. nyoj905 卡片游戏

    卡片游戏 时间限制:1000 ms  |  内存限制:65535 KB 难度:1 描述 小明最近宅在家里无聊,于是他发明了一种有趣的游戏,游戏道具是N张叠在一起的卡片,每张卡片上都有一个数字,数字的范 ...

  2. NYOJ 905 卡片游戏

    卡片游戏 时间限制:1000 ms  |  内存限制:65535 KB 难度:1 描述 小明最近宅在家里无聊,于是他发明了一种有趣的游戏,游戏道具是N张叠在一起的卡片,每张卡片上都有一个数字,数字的范 ...

  3. 卡片游戏 数学期望

    链接:https://www.nowcoder.com/acm/contest/202/H 来源:牛客网 卡片游戏 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 1048576K,其 ...

  4. 1.cocos2dx记忆卡片游戏代码、并将游戏移植到“华为荣耀”手机上、移植中的问题总结

     1记忆卡片游戏代码 CardItem.h #pragmaonce #ifndef__CardItem_H__ #define__CardItem_H__ #include"cocos2 ...

  5. 卡片游戏--循环队列实现

    参考了部分--http://blog.csdn.net/lpp0900320123/article/details/20694409 的代码原理,采用数组实现了循环队列,解决了卡片游戏问题 嵌入式系统 ...

  6. Qt小例子学习52 - 卡片游戏

    Qt小例子学习52 - 卡片游戏 Card.qml import QtQuick 2.0 import QtQuick.Layouts 1.3Item {id: cardLayout.fillWidt ...

  7. 2973. 卡片游戏

    2973. 卡片游戏 #include<bits/stdc++.h> using namespace std; vector<int> a; int max_sum,m,n; ...

  8. HDU1338/卡片游戏/斗地主/拳王争霸

    题目:假定包括你一共有M个人在玩一个特殊的卡片游戏,一开始,每个玩家拿N张卡片,卡的点数最多是N*M.而且卡数是互异的,每一轮中,每个玩家选择一张卡和其它玩家比较,谁的点数最大谁就赢得这一轮.然后开始 ...

  9. bootstrap项目实例_Vue.js 项目实践——创建记忆卡片游戏

    作者:Jiawei Pan 转发链接:https://mp.weixin.qq.com/s/VXPD2p7q2S3yR9I7lzAkfw 前言 如果你刚开始学习 Vue,想巩固基础知识,那么你可以试试 ...

最新文章

  1. CIR:2020年全球数据中心应用AOC市场达$42亿
  2. Lua入门系列----pil学习笔记之Getting Start
  3. 石墨烯可提高热成像质量 提高安检准确性
  4. 8、 IS NULL:空值查询
  5. Appium移动自动化配置-ios安卓
  6. javascript 异常基本语法
  7. win7下安装Oracle10g解决方案
  8. php中fread()函数,php fread()函数
  9. python3 tkinter教程
  10. C++的.cpp文件运行全过程
  11. php怎么查看当前地址,php二分法在IP地址查询中的应用
  12. 企业上云是什么意思?企业上云的好处是什么?
  13. Hadoop官网查看手册
  14. MarkDown官方教程
  15. 如何登录MySQL数据库
  16. 【UEFI实战】HII之配置
  17. 2019高教杯数学建模B题赛后感
  18. 使用PYTHON图像识别实现车牌号码识别
  19. android课程设计致谢,课程设计致谢老师
  20. java 显示另一个窗口_java界面从一个界面跳到另一个界面的时候多出了一个小窗口...

热门文章

  1. USB隨身碟格式化工具程式—HPUSBFW
  2. xftp,xftp怎么使用
  3. 计算机操作系统期末复习
  4. 第十七讲:神州三层交换机DHCP服务器配置
  5. 【solidworks】如何制作外壳唇部?
  6. Navicat导出链接查看数据库明文密码
  7. 三国志14计算机中丢失,三国志14无法正常游戏的常见问题和解决办法
  8. 拾色器的四种色彩模型
  9. 如何打造爆款知识产品?
  10. 跳频扩频通信系统Matlab仿真