习题 3-9 子序列

来源:互联网 发布:冒险岛v矩阵怎么解锁 编辑:程序博客网 时间:2024/04/29 03:45
这个只写了判断一次的程序,没有加多次输入的循环。思想就是先在B序列里找A[0]对应的字母,找到后(找不到输出not,中断循环)标记这个位置,下个对应的字母必须从这个位置之后找才有效,以此类推。用了标准库里面的find函数,记得加头文件。
#include <iostream>#include <vector>#include <string>#include <string.h>#include <stdio.h>#include <algorithm>#define maxn 100010using namespace std;int main(){    string a,b;    cin>>a>>b;    bool available=01;    int lena=a.length();    string::iterator tempIterator;    for(string::iterator i=a.begin();i!=a.end();i++)    {        if(i==a.begin())        {            tempIterator=find(b.begin(),b.end(),*i);            if(tempIterator==b.end())            {                cout<<"not"<<endl;                available=0;                break;            }        }        else        {            tempIterator=find(tempIterator+1,b.end(),*i);            if(tempIterator==b.end())            {                cout<<"not"<<endl;                available=0;                break;            }        }    }    if(available==1)        cout<<"yes";}

0 0
原创粉丝点击