ACM--字符串--Two Substrings--水

    xiaoxiao2026-04-06  5

    题目地址:传送门

    D - Two Substrings Time Limit:2000MS     Memory Limit:262144KB     64bit IO Format:%I64d & %I64u Submit  Status

    Description

    You are given string s. Your task is to determine if the given string s contains two non-overlapping substrings "AB" and "BA" (the substrings can go in any order).

    Input

    The only line of input contains a string s of length between 1 and 105 consisting of uppercase Latin letters.

    Output

    Print "YES" (without the quotes), if string s contains two non-overlapping substrings "AB" and "BA", and "NO" otherwise.

    Sample Input

    Input ABA Output NO Input BACFAB Output YES Input AXBYBXA Output NO

    Hint

    In the first sample test, despite the fact that there are substrings "AB" and "BA", their occurrences overlap, so the answer is "NO".

    In the second sample test there are the following occurrences of the substrings: BACFAB.

    In the third sample test there is no substring "AB" nor substring "BA".

    题解:这里可以使用strstr()函数,需要<string.h>头文件

    #include<iostream> #include<stdio.h> #include<string.h> using namespace std; char s[100001]; int main(){ char *c; scanf("%s",&s); if((c=strstr(s,"AB"))!=NULL&&strstr(c+2,"BA")!=NULL){ printf("YES\n"); return 0; } if((c=strstr(s,"BA"))!=NULL&&strstr(c+2,"AB")!=NULL){ printf("YES\n"); return 0; } printf("NO\n"); }

    转载请注明原文地址: https://ju.6miu.com/read-1308542.html
    最新回复(0)