#A0116. 复杂字符串

    ID: 424 远端评测题 1000ms 512MiB 尝试: 51 已通过: 4 难度: 3 上传者: 标签>基础算法模拟语言入门字符串字符串算法周赛T2

复杂字符串

题目描述

翁老师想要让你判断一个只含有小写字母的长度为 nn 的字符串 ss 是否是合法的,并满足以下条件:

  1. 这个字符串含有 2626 个不同的小写字母。

  2. 这个字符串中有它的子串(不含这个字符串本身)同样满足合法的第 11 个条件。

若这个字符串是合法的,则输出 Yes,否则输出 No,下一行依次输出这个字符串不满足条件的编号。(具体可以参考样例解释)

输入格式

本题多测,第一行一个正整数 tt 表示数据组数。对于每组测试数据:

  • 输入一个字符串 ss

输出格式

对于每组测试数据:

  • 若这个字符串是合法的,则仅输出一行一个字符串 Yes;否则输出 No,下一行从小到大依次输出这个字符串不满足条件的编号。
    • 不满足条件 11 则输出 11
    • 不满足条件 22 则输出 22
    • 都不满足就输出 1 2
4
aaaaabbbbb
qwertyuiopasdfghjklzxcvbnmqwqq
qazxswedcvfrtgbnhyujmkiolp
cyxgmx
No
1 2
Yes
No
2
No
1 2

样例解释

该样例共有 44 组测试数据。

对于第一组测试数据,该字符串两个条件都不满足,故在第一行输出 No,第二行输出 1 2

对于第二组测试数据,该字符串含有 2626 个不同的小写字母,且其中的一个非本身的子串 s227s_{2 \sim 27} 含有 2626 个不同的小写字母,因此该字符串满足合法的所有条件,因此该字符串是合法的,故仅输出一行 Yes

对于第三组测试数据,该字符串含有 2626 个不同的小写字母,但是没有非本身的子串含有 2626 个不同的小写字母,故在第一行输出 No,第二行输出 2

对于第四组测试数据,该字符串两个条件都不满足,故在第一行输出 No,第二行输出 1 2

数据范围

本题采用捆绑测试。

nn 为单组数据字符串的长度,sis_i 表示字符串 ss 的第 ii 个字符。

对于 100%100\% 的数据,保证 1t1061 \le t \le 10^61n2×1051 \le n \le 2 \times 10^51n1061 \le \sum n \le 10^6ss 仅由小写字母组成。

子任务编号 nn \le n\sum n \le 特殊性质 分值
11 1010 2020
22 10310^3 3030
33 2×105{2 \times 10^5} 10610^6 A 2020
44

特殊性质 A:保证 s1=sns_1=s_n