PAT Shuffling Machine
阿新 • • 發佈:2020-08-03
題目:https://pintia.cn/problem-sets/17/problems/264
題解:https://www.liuchuo.net/archives/2019
自解(一次通過,但是程式碼顯得繁瑣。關鍵詞:vector的初始化、遍歷。):
#include <iostream> #include <string> #include <vector> #define Total 54 using namespace std; vector <string> cardSet; string kind[]={"S","H","C","D"}; void init(vector<string> &cardSet){ for(int j=0; j<4;j++){ for(int i =1; i<=13; i++){ string temp = kind[j]; cardSet.push_back(temp.append(to_string(i))); } } cardSet.push_back("J1"); cardSet.push_back("J2"); } void dispVec(vector<string> cardSet){ for(int i =0; i<cardSet.size()-1; i++){ cout<<cardSet[i]<<" "; } cout<<cardSet[cardSet.size()-1]<<endl; } int main() { init(cardSet); int x; cin>>x; int loc[54]; for(int i=0;i<Total;i++){ cin>> loc[i]; }//input finished vector<string> dest(Total); for(int i = 1; i <= x; i++) { for(int j=0; j < Total; j++) { dest[loc[j] - 1] = cardSet[j]; } cardSet = dest; } dispVec(cardSet); return 0; }