算法竞赛入门经典(第2版)第3章 数组和字符串
习题3-9 子序列 UVa10340
这个题目虽然看起来简单但是我做起来还是很吃力,最后上网看了思路才做出来。
加油吧,NOIP2019!!!
#include<iostream>
#include<cstdio>
#include<string>
#include<algorithm>
using namespace std;
int main()
{
string s1,s2;
while(cin>>s1>>s2){
int i=0;
for(int j=0;j<s2.size();j++){
if(s1[i]==s2[j]) //从第一个字母开始比较
i++; //往后走
if(s1[i]!=s2[j]) //如果有不同的则清空相同字符数
i=0;
if(i==s1.size()) //如果有子序列
break; //直接退出循环
}
printf("%s\n",i==s1.size()?"yes":"no"); //最后比较输出
}
return 0;
}
以后也会增加更多代码,并且写的更易懂给向我这样的新手更多方便