POJ 百炼 保研机试 2976:All in All

来源:互联网 发布:淘宝手机端如何引流 编辑:程序博客网 时间:2024/06/06 14:08

2976:All in All

  • 查看
  • 提交
  • 统计
  • 提示
  • 提问
总时间限制: 
1000ms 
内存限制: 
65536kB
描述
给定两个字符串s和t,请判断s是否是t的子序列。即从t中删除一些字符,将剩余的字符连接起来,即可获得s。
输入
包括若干个测试数据。每个测试数据由两个ASCII码的数字和字母串s和t组成,s和t的长度不超过100000。
输出
对每个测试数据,如果s是t的子序列则输出“Yes”,否则输出“No”。
样例输入
sequence subsequenceperson compressionVERDI vivaVittorioEmanueleReDiItaliacaseDoesMatter CaseDoesMatter
样例输出
YesNoYesNo
来源
Ulm Local 2002, POJ 1936, 程序设计实习2007

#include<stdio.h>#include<string.h>char str1[100010],str2[100010];int flag[100010];int main(){while(scanf("%s %s",&str1,&str2)!=EOF){int num=0;memset(flag,0,sizeof(flag));int len1=strlen(str1),len2=strlen(str2);int j=0;for(int i=0;i<len1;i++){for(;j<len2;){if(str1[i]==str2[j]){int k=j+1;j=k;flag[i]=1;break;}else j++;}}for(int i=0;i<len1;i++){if(flag[i]==1) num++;}if(num==len1) printf("Yes\n");else printf("No\n"); }return 0;} 

1 0
原创粉丝点击