码迷,mamicode.com
首页 > 其他好文 > 详细

HDU 4300 Clairewd’s message

时间:2014-07-18 20:18:26      阅读:171      评论:0      收藏:0      [点我收藏+]

标签:style   blog   color   os   io   for   

字符串匹配:

  先把已给串n[]全按转换表s[]转换为明码存入m[]中;

  接下来只要求出k:n[lenn-k~lenn-1]==m[0~k];

  输出n[0~k],m[0~k];

 

 

 1 #include <iostream>
 2 #include <cstring>
 3 using namespace std;
 4 
 5 char s[50],n[100010],m[100010];
 6         int a[50];
 7 
 8 int main (){
 9     int t;
10     cin>>t;
11     while (t--){
12         cin>>s;
13         cin>>n;
14         int lens,lenn;
15         lens=strlen(s);
16         lenn=strlen(n);//cout<<lens<<" "<<lenn<<endl;
17         for (int i=0;i<lens;i++){
18             a[s[i]-a]=i;
19         }
20         for (int i=0;i<lenn;i++){
21             m[i]=a[n[i]-a]+a;
22         }
23         if (lenn==1){
24             cout<<n[0]<<m[0]<<endl;
25             continue ;
26         }
27         int x=lenn;
28         for (int i=(lenn+1)/2;i<lenn;i++){
29             int flag=1;
30             for (int j=i;j<lenn;j++){
31                 if (m[j-i]!=n[j]){
32                     flag=0;
33                     break ;
34                 }
35             }
36             if (flag){
37                 x=i;
38                 break ;
39             }
40         }//cout<<n<<" "<<m<<endl<<x<<endl;
41         for (int i=0;i<x;i++)
42             cout<<n[i];
43         for (int i=0;i<x;i++){
44             cout<<m[i];
45         }
46         cout<<endl;
47     }
48     return 0;
49 }

HDU 4300 Clairewd’s message,布布扣,bubuko.com

HDU 4300 Clairewd’s message

标签:style   blog   color   os   io   for   

原文地址:http://www.cnblogs.com/gfc-g/p/3850458.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!