TZC OJ 1058 寄居蟹与海葵

题目略...

AC CODE:

 1 #include <stdio.h>
 2 #include <stdlib.h>
 3 #include <string.h>
 4 #define Max 100010
 5 
 6 /* 主函数 */
 7 int main()
 8 {
 9     char H[Max], J[Max], Temp[Max];// Temp数组是用来存放H数组中的子串,用来和J数组进行比较
10     int len_h, len_j, i, j;
11     while(1)
12     {
13         scanf("%s%s",H,J);
14         if(!strcmp(H,"0") && !strcmp(J,"0"))// 以0 0结束
15             break;
16         len_h = strlen(H);len_j = strlen(J);// 计算两个字符串的长度
17         if(len_h<len_j) printf("No\n");
18         else
19         {
20             for(i=0;i<len_j;i++)// 把J数组转成和其相符的数组赋给Temp
21                 Temp[i] = 155 - J[i];
22             Temp[i]='\0';
23             /* 在H数组中寻找部分元素和Temp顺序相等的数组 */
24             for(i=0,j=0;i<len_h;i++)
25             {
26                 if(H[i]==Temp[j])
27                 {
28                     j++;
29                 }
30             }
31             if(j==len_j) printf("Yes\n");// Temp数组走到数组尾了,就明找到了
32             else printf("No\n");// 如果计数器为零说明没有找到匹配的子串数组
33         }
34     }
35     return 0;
36 }

 

你可能感兴趣的:(OJ)