POJ_1936_All in All(串)

这道题很简单,直接看代码吧,主要在于VERDI vivaVittorioEmanueleReDiItalia

的判断。这种情况下也是子串。

 1 # include <stdio.h>
 2 # include <string.h>
 3 int main()
 4 {
 5     char str1[100001],str2[100001];
 6     int i,j,k,l1,l2;
 7     while(scanf("%s%s",str1,str2) != EOF)
 8     {
 9         l1=strlen(str1);
10         l2=strlen(str2);
11         if(l1>l2)
12             printf("No\n");
13         else
14         {
15             int r=0;
16             int leag=0;
17             if(strstr(str2,str1) != NULL)
18                 printf("Yes\n");
19             else 
20             {
21                 for(i=0;i<l1;i++)  //如果不用上边的判断,单独用着两个循环判断也能做出来。
22                 {
23                     for(j=r;j<l2;j++)
24                     {
25                         if(str1[i] == str2[j])
26                         {
27                             leag++;
28                             r=j+1;
29                             break;
30                         }
31                     }
32                 }
33                 if(leag == l1)
34                     printf("Yes\n");
35                 else
36                     printf("No\n");
37             }
38         }
39     }
40     return 0;
41 }

 

posted on 2013-08-19 16:18  随风浪子的博客  阅读(102)  评论(0编辑  收藏  举报

导航