uva10340all in all字符串匹配
http://acm.hust.edu.cn/vjudge/contest/view.action?cid=93800#problem/I
题意:输入2个字符串,若将后面的字符串删掉几个字符且剩下的顺序不变变成前面的字符串,则输出Yes,否则输出No。
思路:将2个字符串放入2个数组中,定义2个变量,若有相同的字符,2个变量都加一,否则第二个字符串的变量加一,最后得到第一个字符串的变量的最终大小,若等于第一个字符串的长度,则可以,否则,不可以。
#include<iostream> #include<string.h> using namespace std; #define maxn 100000 int main() { char s1[maxn],s2[maxn]; while(cin>>s1>>s2) { int len1=strlen(s1),len2=strlen(s2),i=0; for(int j=0;i<len1&&j<len2;) { if(s1[i]==s2[j]) { i++; j++; } else j++; } if(i==len1) { cout<<"Yes"<<endl; } else { cout<<"No"<<endl; } } return 0; }