字典序注意

这个题是当时我做错的一道题,字典序想当然了,是搜索到一个小的,字典序就算小了,相等才往后比。想到一个难得算法先不要打怵,可能是一个噱头,比如这个题,就是个水题其实

这是一道模板题:给定两个字符串S和T,询问S中是否存在一个后缀P,使得T的任何一个前缀的字典序都大于P。

注意:数据里同时含有大写与小写字母,比较字典序时严格按照 Ascii 编码进行比较,即我们认为 A

输入描述:

每组数据有两行只包含英文字母的字符串,第一行是S,第二行是T (0<∣S∣,∣T∣≤2×105)(0<
  |S|,|T|\leq2\times 10^5)(0<∣S∣,∣T∣≤2×105)

输出描述:

每组数据输出一行,若存在这样的P,输出“YE5”,否则输出“N0”(不带引号)。

示例1

输入

复制

3
lglg  
rzynb  
zzytql  
dalaoddw  
uiyouivyziuoxcovzuncuiasdaisdb  
yzvuihouvsfvdjsausnnuncvviasudalsky 

输出

复制

YE5 
N0 
YE5
#include
#include
#include
#include
using namespace std;
int main()
{
//  freopen("test.in","r",stdin);
//  freopen("test.out","w",stdout);
    char s[200010],t[200010];
    int n,lens,len,lent;
    bool pd,vo=true;
    scanf("%d",&n);
    for (int i=1;i<=n;i++)
    {
        pd=true;
        cin>>s;
        cin>>t;
        lens=strlen(s);
        lent=strlen(t);
        len=min(lens,lent);
        for (int i=lens-1;i>=0;i--)
          if (s[i]

你可能感兴趣的:(字典序注意)