【题意】
给出一种洗牌的顺序,求按照这个顺序洗了k次之后牌的顺序
【思路】
模拟下标变化即可
#include <iostream>
using namespace std;
char ch[5]={'S','H','C','D','J'};
int main(int argc, char const *argv[])
{
int changeOrder[54],order[54];
int k,tmp;
cin >> k;
for(int i=0; i<54; i++){
cin >> changeOrder[i];
order[i] = i;
}
while(k--){
int newOrder[54];
for(int i=0; i<54; i++){
newOrder[changeOrder[i]-1] = order[i];
}
for(int i=0; i<54; i++){
order[i] = newOrder[i];
}
}
for(int i=0; i<54; i++){
cout << ch[order[i]/13] << order[i]%13+1;
if(i<53){
cout << " ";
}
}
system("pause");
return 0;
}