算法与数据结构实验题 4.1 伊姐姐数字 game
★实验任务
伊姐姐热衷于各类数字游戏,24 点、2048、数独等轻轻松松毫无压力。一 日,可爱的小姐姐邀请伊姐姐一起玩一种简单的数字 game,游戏规则如下: 一开始桌上放着 n 张数字卡片,从左到右按数字 1-n 放置,小姐姐按以下步 骤取卡片 小姐姐取出最左边的一张牌,藏于袖中;
小姐姐将此时剩余卡牌的最左边的 p 张移到最右边,假设桌上的牌为 1 2 3 4 5,移动最左边的两张卡片后结果为 3 4 5 1 2。注意当桌上卡片数量小于 p 时不 进行这步操作。 所有卡牌都被藏起来以后,游戏结束。
这是个十分简单的数字 game,然而伊姐姐因为紧张丧失游戏能力,你能帮 助伊姐姐统计,小姐姐第 k 次,第 2k 次…第 ik 次(i<=n/k)藏于袖中的卡片吗?
★数据输入
输入第一行为三个正整数 n(1<=n<=100000),p(0<=p<=10),k(0<k<=100),含 义在题目中给出。
★数据输出
输出为两行,第一行输出你总共要输出的卡片数量 m。 第二行 m 个数,按顺序输出小姐姐第 k 次,第 2k 次…第 mk 次藏的卡片。
| 输入示例 | 输出示例 |
|---|---|
| 6 3 2 | 3 5 6 3 |
| 输入示例 | 输出示例 |
|---|---|
| 10 1 3 | 3 5 2 8 |
★思路
当可以执行“将此时剩余卡牌的最左边的 p 张移到最右边”操作时,可以用队列来模拟这个操作——前三个数字依次出队,入队。但是要注意执行操作前要保证队列长度比p大一,因为操作的顺序是先取走一张牌,在执行。否则会越界。
其他的输出就很简单啦!
★Code
#include<iostream>
#include<math.h>
#include<queue>
using namespace std;
int main()
{
int n,p,k,count=0;
scanf("%d %d %d",&n,&p,&k);
printf("%d\n",n/k);
queue<int>q;
for(int i=1;i<=n;i++)
q.push(i);
while(q.size()>p)
{
int temp1=q.front();
q.pop();
count++;
if(count%k==0)
cout<<temp1<<" ";
for(int i=0;i<p;i++)
{
int temp2=q.front();
q.pop();
q.push(temp2);
}
}
while(!q.empty())
{
int temp3=q.front();
q.pop();
count++;
if(count%k==0)
cout<<temp3<<" ";
}
return 0;
}
算法与数据结构实验题 4.1 伊姐姐数字 game的更多相关文章
- 算法与数据结构实验题 6.4 Summary
★实验任务 可怜的 Bibi 丢了好几台手机以后,看谁都像是小偷,他已经在小本本上记 下了他认为的各个地点的小偷数量. 现在我们将 Bibi 的家附近的地形抽象成一棵有根树.每个地点都是树上的 一个节 ...
- 算法与数据结构实验题 6.3 search
★实验任务 可怜的 Bibi 刚刚回到家,就发现自己的手机丢了,现在他决定回头去搜索 自己的手机. 现在我们假设 Bibi 的家位于一棵二叉树的根部.在 Bibi 的心中,每个节点 都有一个权值 x, ...
- 算法与数据结构实验题 4.2 小 F 打怪
★实验任务 小 F 很爱打怪,今天因为系统 bug,他提前得知了 n 只怪的出现顺序以及击 倒每只怪得到的成就值 ai.设第一只怪出现的时间为第 1 秒,这个游戏每过 1 秒 钟出现一只新怪且没被击倒 ...
- 算法与数据结构实验题6.4 order (二叉树)
1.题目: 2.代码: #include<iostream> #include<algorithm> using namespace std; struct Node { in ...
- 算法与数据结构实验题 5.2 Missile
1.题目: 2.解题思路: 把每个点对应的两条半径求出,之后对d1进行升序排序,对应d2也改变位置.其中一个圆心的半径r1确定之后,除去第一个圆包围的点,在其余点中找到另外一个圆的最长的半径r2,此时 ...
- 数据结构_yjjsj(伊姐姐数字游戏)
问题描述 伊姐姐热衷于各类数字游戏, 24 点. 2048.数独等轻轻松松毫无压力.一日,可爱的小姐姐邀请伊姐姐一起玩一种简单的数字 game,游戏规则如下:一开始桌上放着 n 张数字卡片,从左到右按 ...
- 基础算法和数据结构高频题 II
DFS的两种理解方式:1. 按照实际执行顺序模拟 (适合枚举型DFS,下节课内容)2. 按照DFS的定义宏观理解 (适合分治型DFS,本节课内容) 1 Convert BST to Greater T ...
- 第三章 基础算法和数据结构高频题 I
区间类问题 1 Missing Interval public List<String> findMissingRanges(int[] nums, int lower, int uppe ...
- DS实验题 sights
算法与数据结构实验题 6.3 sights ★实验任务 美丽的小风姑娘打算去旅游散心,她走进了一座山,发现这座山有 n 个景点, 由于山路难修,所以施工队只修了最少条的路,来保证 n 个景点联通,娇弱 ...
随机推荐
- python中函数参数的引用方式
值传递和引用传递时C++中的概念,在python中函数参数的传递是变量指向的对象的物理内存地址!!! python不允许程序员选择采用传值还是传引用.Python参数传递采用的肯定是“传对象引用”的方 ...
- python函数的四种参数传递方式
python中函数传递参数有四种形式 fun1(a,b,c) fun2(a=1,b=2,c=3) fun3(*args) fun4(**kargs) 四种中最常见是前两种,基本上一般点的教程都会涉及, ...
- 利用主成分分析(PCA)简化数据
一.PCA基础 线性映射(或线性变换),简单的来说就是将高维空间数据投影到低维空间上,那么在数据分析上,我们是将数据的主成分(包含信息量大的维度)保留下来,忽略掉对数据描述不重要的成分.即将主成分维度 ...
- 一个java新手配置IIS服务器的血泪史
接到一个二次开发项目,听说是asp页面,带着不要怂的态度于是接下了. 好嘛按照步骤来 1.了解需求:一个公司内部积分排名类型项目,已经被多次开发,我所需要的就是新增两个页面,一个是分店赛一个是分部赛. ...
- 【CF613D】Kingdom and its Cities(虚树,动态规划)
[CF613D]Kingdom and its Cities(虚树,动态规划) 题面 洛谷 CF 翻译洛谷上有啦 题解 每次构建虚树,首先特判无解,也就是关键点中存在父子关系. 考虑\(dp\),设\ ...
- 天津Uber优步司机奖励政策(12月14日到12月20日)
滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfry ...
- Java:多线程中的volatile
一.为什么使用volatile 首先,通过一段简单的代码来理解为什么要使用volatile: public class RunThread extends Thread{ private boolea ...
- VINS(一)简介与代码结构
VINS-Mono和VINS-Mobile是香港科技大学沈劭劼团队开源的单目视觉惯导SLAM方案.是基于优化和滑动窗口的VIO,使用IMU预积分构建紧耦合框架.并且具备自动初始化,在线外参标定,重定位 ...
- 提权基础-----mysql-udf提权
1.总结关于udf提权方法 通过弱口令,爆破,网站配置文件等方式得到mysql数据库帐号密码,---还要能外连 (1).将udf.dll代码的16进制数声明给my_udf_a变量 set @my_ud ...
- bash特性-命令历史命令行编辑
bash: GUI:Gnome,KDE,XFCE CLI:sh,csh,bash,ksh,tcsh,zsh shell,子shell tree:查看目录树 pstree:查看进程目录树 bash: 1 ...