• 流输入练习——寻找Sb.VI codevs 3096


    题目描述 Description

    已知某开放授权人员名叫Serb,由于经常修改各种数据,因此开发人员们都喊他SB.现在他和许多人一起过飞机安检,排成了一长队列,请问SB.是否在队列中。

    输入描述 Input Description

    第一行:SB.所代表的某个符号

    第二行:一排等待飞机安检的人所代表的符号(小于等于100,大于等于1)

    输出描述 Output Description

    YES或NO

    样例输入 Sample Input

    1

    2356@Qfrr

    样例输出 Sample Output

    NO

    数据范围及提示 Data Size & Hint

    一排等待飞机安检的人所代表的符号数量小于等于100,大于等于1且为正整数。我们保证只有一个Serb。

    代码:

    #include<iostream>
    #include<cstdio>
    #include<string>
    #include<algorithm>
    using namespace std;
    string a,b;
    int n,m,p[105]={0};
    int main()
    {
    cin>>b;
    cin>>a;
    n=a.length();
    m=b.length();
    a=" "+a;
    b=" "+b;
    int j=0;
    for (int i=2;i<=m;i++)
    {
    while(j>0 && b[j+1]!=b[i])
    j=p[j];
    if (b[i]==b[j+1])
    j++;
    p[i]=j;
    }
    j=0;
    for (int i=1;i<=n;i++)
    {
    while(j>0 && b[j+1]!=a[i])
    j=p[j];
    if (a[i]==b[j+1])
    j++;
    if (j==m)
    {
    printf("YES");
    return 0;
    }

    }
    printf("NO");
    }

  • 相关阅读:
    第一次作业(2)
    第0次作业(2)
    最后一次作业—总结报告
    第八次作业
    第七周作业
    第六周作业
    第四周作业
    第4次作业
    2018c语言第3次作业
    2018c语言第2次作业
  • 原文地址:https://www.cnblogs.com/xiaoqi7/p/5224278.html
Copyright © 2020-2023  润新知