[POJ] [INDEX] [1936] [All in All]
[Time: 1000MS] [Memory: 30000K] [难度: 初级] [分类: 串]
无。
水题一道,直接去模拟吧。
在s2中找s1的子串而已,本来还想用LCS的,后来想想,这样空间消耗太大,用滚动数组又麻烦。。。毕竟列数最多高达10W = = 所以还是算了,直接模拟更快= =
注意下标范围 int是够不到10W的,要用 long 。
//Memory Time
//364K 0MS
#include<iostream>
#include<string>
using namespace std;
int main(long i, long j)
{
char s1[100000],s2[100000];
while(cin>>s1>>s2)
{
long len1=strlen(s1);
long len2=strlen(s2);
i=0;
j=0;
while(true)
{
if(i==len1)
{
cout<<"Yes"<<endl;
break;
}
else if(i<len1 && j==len2)
{
cout<<"No"<<endl;
break;
}
if(s1[i]==s2[j])
{
i++;
j++;
}
else
j++;
}
memset(s1,'\0',sizeof(s1));
memset(s2,'\0',sizeof(s2));
}
return 0;
}
- Site: http://exp-blog.com
- Mail: [email protected]