当前位置: 代码迷 >> 综合 >> pat--1042 Shuffling Machine(20 分)(模拟)
  详细解决方案

pat--1042 Shuffling Machine(20 分)(模拟)

热度:47   发布时间:2023-12-26 10:08:57.0

题目链接:https://pintia.cn/problem-sets/994805342720868352/problems/994805442671132672

【分析】

题意:按照给定的序列来对牌进行乱序。输出n次后的结果。

思路:模拟。定义一个新的字符串数组,来过渡中间赋值的部分。

#include<bits/stdc++.h>
using namespace std;
string s[]= {"0","S1","S2","S3","S4","S5","S6","S7","S8","S9","S10","S11","S12","S13","H1","H2","H3","H4","H5","H6","H7","H8","H9","H10","H11","H12","H13","C1","C2","C3","C4","C5","C6","C7","C8","C9","C10","C11","C12","C13","D1","D2","D3","D4","D5","D6","D7","D8","D9","D10","D11","D12","D13","J1","J2"};
string ss[55];
int a[55];
int main()
{int n;scanf("%d",&n);for(int i=1;i<=54;i++)scanf("%d",&a[i]);while(n--){for(int i=1;i<55;i++)ss[a[i]]=s[i];for(int i=1;i<55;i++)s[i]=ss[i];}cout<<s[1];for(int i=2;i<55;i++)cout<<" "<<s[i];cout<<endl;return 0;
}

 

  相关解决方案