B1042 Shuffling Machine(模拟扑克洗牌)

B1042 Shuffling Machine (20分)

  • A given order is a permutation of distinct integers in [1, 54]. If the number at the i-th position is j, it means to move the card from position i to position j.

给定的顺序是[1,54]中不同整数的排列。如果第i个位置的数字是j,则意味着将卡从位置i移动到位置j。

其实就是类似于扑克牌的洗牌,把[1,54]对应的牌连按给的位置序列连续移K次,中间的两重循环脑子烧了写了毛半个小时🤦‍,边界处也不是处理得很好,又臭又长,打表两分钟就初始化好了。

晚安(  ̄ o  ̄ ) . z Z

#include <iostream>
#include <algorithm>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <string>
#include <cmath>
#include <math.h>
#include <vector>
#include <queue>
#include <map>
#include <set>
#include <stack>
#define lowbit(i)((i)&(-i))
using namespace std;
typedef long long ll;
const int MAX=1020;
const int INF=0x3f3f3f3f;
const int MOD=1000000007;
const int SQR=632;//633块,632个
int n;
int a[MAX],b[MAX],c[MAX];
map<int,string>mp;
void init()
{
    string s;
  for(int j=1;j<=4;j++)
  {
    for(int i=1;i<=13;i++)
    {
        if(j==1)
            s='S';
        else if(j==2)
            s='H';
        else if(j==3)
            s='C';
        else if(j==4)
            s='D';
        if(i>=10)
        {
            s+='1';
            int t=i%10;
            char temp=t+'0';
            s+=temp;
        }
        else
        {
            char temp=i+'0';
            s+=temp;
        }
        mp[13*(j-1)+i]=s;
    }
  }
  mp[53]="J1";
  mp[54]="J2";
  for(int i=1;i<=54;i++)
    c[i]=i;
}
int main()
{
    init();
    cin>>n;
    for(int i=1;i<=54;i++)
        scanf("%d",&a[i]);
    for(int j=0;j<n;j++)
    {
        for(int i=1;i<=54;i++)
            b[a[i]]=c[i];
        for(int i=1;i<=54;i++)
            c[i]=b[i];
    }
     for(int i=1;i<=54;i++)
    {
        if(i==1)
            cout<<mp[c[i]];
        else
            cout<<" "<<mp[c[i]];
    }
    return 0;
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • DWI cheeckpoint 酒驾检查点。 breathalyze测醉器。 vato 大哥。 So...
    Wamg潇潇阅读 195评论 0 0
  • 一世尘缘路遥遥 满腔热血无已报 声声瑟瑟竹笛萧 万千粉黛尽妖娆
    白衣布衫阅读 157评论 0 0
  • 那醉人的花儿, 委身瑟缩在 折柳栖枝的溪风里。 汀兰浮上岸的沿, 百花依傍,溪水微寒 匆匆的脚步踏乱偏执的方向。 ...
    清婉萧衣落雪寒阅读 175评论 1 0
  • 这是我参加勇气读书会打卡第二十七天 我阅读的书籍:《陶行知教育名篇》 出发日期:2019.11.4/2019.11...
    于杰雄阅读 294评论 0 1
  • 昨天跟一位妈妈闲聊。 提及孩子的梦想和目标。 她说她的孩子没什么目标,要做律师或翻译。 我说很好呀,这就是目标啊!...
    自我觉察日记本阅读 162评论 0 0