• 【刷题】【stl】扑克游戏


    题面:

      有n张扑克牌,记为1 2 …… n,按照一定 的规律排放后,可以使翻开的第一张牌是 1,然后把下面一张牌放到整副牌的末尾, 再翻下一张刚好是2,再把后一张牌放到 整副牌的末尾,下面一张是3……如此继 续下去,直到最后一张牌n翻出。试编程 解决这个问题。

    【输入说明】

      一个正整数n( 1 <= n <= 1000 )。

    【输出说明】

      一行,n个空格隔开的整数,表示n张牌的 正确排列顺序。

    样例输入     样例输出

    5       1 5 2 4 3

    【题解加代码】

    #include<bits/stdc++.h>
    using namespace std;
    
    int m;
    deque <int > dq;
    
    int main()
    {
        cin>>m;
        //倒序放入所有牌,所以最后一张是m 
        dq.push_front(m);
        //顺序操作:翻开新的头部的牌,然后将下一张放到尾部,然后翻开最上面的m 
        //所以逆序就应该是,已经翻开了m,先把尾部的牌放到头部,然后翻开头部的m- 
        for(int i=m-1;i>=1;i--)
        {
            dq.push_front(dq.back());
            dq.pop_back();
            dq.push_front(i); 
        }
        for(int i=0;i<dq.size();i++)
            cout<<dq[i]<<" "; 
        
        return 0;
    } 
  • 相关阅读:
    ShiroConfig V2.0
    MyRealm V2.0(注:加上了权限字符串)
    ShiroUtils通用工具包
    ResourcesConfig实现配置资源路径
    MyRealm V1.0
    ShiroConfig V1.0
    MySQL
    Git实战
    scala中函数简单使用记录
    scala中Trait简单使用
  • 原文地址:https://www.cnblogs.com/xwww666666/p/15893716.html
Copyright © 2020-2023  润新知