转载请注明出处:優YoU http://user.qzone.qq.com/289065406/blog/1300626728
在s2中找s1的子串而已,本来还想用LCS的,后来想想,这样空间消耗太大,用滚动数组又麻烦。。。毕竟列数最多高达10W = = 所以还是算了,直接模拟更快= =
结论:水题一道,放开怀抱去模拟吧\(^o^)/~
注意下标范围 int是够不到10W的,我用了long
没了
1 //Memory Time
2 //364K 0MS
3
4 #include<iostream>
5 #include<string>
6 using namespace std;
7
8 int main(long i,long j)
9 {
10 char s1[100000],s2[100000];
11 while(cin>>s1>>s2)
12 {
13 long len1=strlen(s1);
14 long len2=strlen(s2);
15 i=0;
16 j=0;
17 while(true)
18 {
19 if(i==len1)
20 {
21 cout<<"Yes"<<endl;
22 break;
23 }
24 else if(i<len1 && j==len2)
25 {
26 cout<<"No"<<endl;
27 break;
28 }
29 if(s1[i]==s2[j])
30 {
31 i++;
32 j++;
33 }
34 else
35 j++;
36 }
37 memset(s1,'\0',sizeof(s1));
38 memset(s2,'\0',sizeof(s2));
39 }
40 return 0;
41 }