C&C++   发布时间:2022-04-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了【PAT甲级】1042 Shuffling Machine (20 分)大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

题意:

输入洗牌次数K(<=20),输入54张牌每次洗入的位置(不是交换的位置),输出洗好的牌。

代码

#define HAVE_STRUCT_TIMESPEC
#include<bits/stdc++.h>
using namespace std;
@H_573_5@multiset<int>st;
int a[57];
int card[57],b[57];
int main(){
ios::sync_with_stdio(false);
cin.tie(null);
cout.tie(null);
for(int i=1;i<=54;++i)
card[i]=i;
int k;
cin>>k;
for(int i=1;i<=54;++i)
cin>>a[i];
for(int i=1;i<=k;++i){
if(i&1)
for(int j=1;j<=54;++j)
b[a[j]]=card[j];
else
for(int j=1;j<=54;++j)
card[a[j]]=b[j];
}
int x=0;
for(int i=1;i<=54;++i){
if(k&1)
x=b[i];
else
x=card[i];
if(x<=13)
cout<<"S"<<x;
else if(x<=26)
cout<<"H"<<x-13;
else if(x<=39)
cout<<"C"<<x-26;
else if(x<=52)
cout<<"D"<<x-39;
else
cout<<"J"<<x-52;
if(i<54)
cout<<" ";
}
return 0;
}

大佬总结

以上是大佬教程为你收集整理的【PAT甲级】1042 Shuffling Machine (20 分)全部内容,希望文章能够帮你解决【PAT甲级】1042 Shuffling Machine (20 分)所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。