UVA10340子序列

题意:
      给你两个串,问你第二个第一个串是否是第一个串删除0个或多个字母得到的?


思路:
      直接模拟就行了,在第二个串中去按顺序更新第一个串的下标,好像没说明白啊,不管了,水题,不理解直接看下代码就懂了。


#include
#include


char str1[1100000] ,str2[1100000];


int main ()
{
   while(~scanf("%s %s" ,str1 ,str2))
   {
      int l1 = strlen(str1);
      int l2 = strlen(str2);
      if(l1 > l2)
      {
         puts("No");
         continue;
      }
      int nowid = 0;
      for(int i = 0 ;i < l2 ;i ++)
      {
         if(str2[i] == str1[nowid])
         nowid ++;
         if(nowid == l1) break;
      }
      nowid == l1 ? puts("Yes") : puts("No");
   }
   return 0;
}



你可能感兴趣的:(ACM_UVA)