桌子上有n张牌,从第一张牌(即位于牌面的牌)开始,从上往下一次编号为1~n。当剩下两张牌多于两张时进行一下操作:把第一张牌扔掉,然后把新的第一张牌放到整叠牌的最后。当还剩下一张牌的时候,停止操作。
输入每行包括一个n,输出每次扔掉的牌及最后剩下的牌。(n<=50)
这题的输出要注意:逗号后面有空格,冒号后面没有空格。
当n=1的时候,应该输出Discarded cards:(此处没有空格)Remaining card: 1(有空格)
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n;
queue<int>q

本文详细解析了一种基于牌堆的游戏算法,通过不断移除顶部牌并重新排列,最终确定最后一张牌的位置。使用C++实现,展示了如何利用队列数据结构解决此类问题。适用于编程竞赛和算法学习。
最低0.47元/天 解锁文章
448

被折叠的 条评论
为什么被折叠?



