1042 Shuffling Machine
阿新 • • 發佈:2018-12-17
題目大意:
初始時有五十四張牌按順序排放,將牌的位置改變為陣列中要求的位置,如果改變次數不為1,還要在上一個改變基礎上繼續改變。
解題思路:
初始化有點蠢了。。其他就模擬就好。 程式碼如下:
#include<iostream> #include<cstdio> #include<fstream> #include<set> #include<cmath> #include<cstring> #include<string> #include<map> #include<vector> #include<iomanip> #include<cstdlib> #include<list> #include<queue> #include<stack> #include<algorithm> #define inf 0x3f3f3f3f #define MOD 1000000007 #define mem0(a) memset(a,0,sizeof(a)) #define mem1(a) memset(a,-1,sizeof(a)) #define meminf(a) memset(a,inf,sizeof(a)) //vector ::iterator it; //set<int>::iterator iter; typedef long long ll; typedef unsigned long long ull; using namespace std; int main() { std::ios::sync_with_stdio(false); cin.tie(0); //freopen("test.txt","r",stdin); //freopen("output.txt","w",stdout); int r,a[60]={0},flag=1; string shu1[60]={"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"},//暴力初始化。。。。 shu2[60]; cin>>r; for(int i=1;i<=54;i++)cin>>a[i]; while(r--) { if(flag==1) for(int i=1;i<=54;i++)shu2[a[i]]=shu1[i]; else for(int i=1;i<=54;i++)shu1[a[i]]=shu2[i]; flag=-flag; } if(flag<0) { cout<<shu2[1]; for(int i=2;i<=54;i++)cout<<' '<<shu2[i]; } else { cout<<shu1[1]; for(int i=2;i<=54;i++)cout<<' '<<shu1[i]; } cout<<endl; return 0; }