Given a string, you are supposed to output the length of the longest symmetric sub-string. For example, given "Is PAT&TAP symmetric?", the longest symmetric sub-string is "s PAT&TAP s", hence you must output 11.
Input Specification:
Each input file contains one test case which gives a non-empty string of length no more than 1000.
Output Specification:
For each test case, simply print the maximum length in a line.
Sample Input:Is PAT&TAP symmetric?Sample Output:
11
题意:模拟一个洗牌机,大致的功能是如果位置i的数字是j,那么就把位置i的牌移动到位置j去,求n次洗牌后牌堆的位置。
思路:基本就是哈希了,没什么技巧性。
#include<iostream> #include<string> using namespace std; string str[60],str1[60]; char ch[4]={‘S‘,‘H‘,‘C‘,‘D‘}; int arry[60]; int main() { int n; int i,j,k; char ch1; for(k=0;k<4;k++) { for(i=1;i<=13;i++) { if(i>=10) { ch1=‘0‘+(i%10); str[k*13+i]=str[k*13+i]+ch[k]+‘1‘+ch1; } else { ch1=‘0‘+i; str[k*13+i]=str[k*13+i]+ch[k]+ch1; } } } str[53]="J1",str[54]="J2"; //for(i=1;i<=54;i++) cout<<str[i]<<endl; cin>>n; for(i=1;i<=54;i++) { cin>>k; arry[i]=k; } while(n--) { for(i=1;i<=54;i++) { str1[arry[i]]=str[i]; } for(i=1;i<=54;i++) { str[i]=str1[i]; } } for(i=1;i<=53;i++) cout<<str1[i]<<" "; cout<<str1[i]<<endl; return 0; }
PAT1042 Shuffling Machine,布布扣,bubuko.com
原文:http://blog.csdn.net/zju_ziqin/article/details/20004093