CF464A.No to Palindromes!
普及+/提高
通过率:0%
时间限制:1.00s
内存限制:256MB
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
Paul hates palindromes. He assumes that string s is tolerable if each its character is one of the first p letters of the English alphabet and s doesn't contain any palindrome contiguous substring of length 2 or more.
Paul has found a tolerable string s of length n. Help him find the lexicographically next tolerable string of the same length or else state that such string does not exist.
保罗讨厌回文串。他将字符串 s 称为“可容忍的”,当且仅当:
- s 的每个字符均属于英文字母表的前 p 个字母;
- 且 s 中不包含任何长度 ≥2 的回文连续子串。
保罗已找到一个长度为 n 的可容忍字符串 s。请帮助他找出字典序严格大于 s 的、长度同样为 n 的最小可容忍字符串;若不存在这样的字符串,则说明其不存在。
输入格式
The first line contains two space-separated integers: n and p (1 ≤ n ≤ 1000; 1 ≤ p ≤ 26). The second line contains string s, consisting of n small English letters. It is guaranteed that the string is tolerable (according to the above definition).
第一行包含两个以空格分隔的整数:n 和 p(1 ≤ n ≤ 1000;1 ≤ p ≤ 26)。第二行包含一个字符串 s,由 n 个小写英文字母组成。题目保证该字符串是可容忍的(根据上述定义)。
输出格式
If the lexicographically next tolerable string of the same length exists, print it. Otherwise, print "NO" (without the quotes).
如果存在字典序下一个可接受的等长字符串,则输出该字符串;否则输出 "NO"(不带引号)。
输入输出样例
输入#1
3 3 cba
输出#1
NO
输入#2
3 4 cba
输出#2
cbd
输入#3
4 4 abcd
输出#3
abda
说明/提示
String s is lexicographically larger (or simply larger) than string t with the same length, if there is number i, such that _s_1 = _t_1, ..., s__i = t__i, s__i + 1 > t__i + 1.
The lexicographically next tolerable string is the lexicographically minimum tolerable string which is larger than the given one.
A palindrome is a string that reads the same forward or reversed.
字符串 s 在字典序上大于(或简称为大于)等长字符串 t,当且仅当存在某个下标 i,使得 s1=t1,…,si=ti,但 si+1>ti+1。
字典序后继容许字符串是指所有大于给定字符串的容许字符串中字典序最小的那个。
回文串是指正读与反读都相同的字符串。
输入解题思路,AI测评打分。不知道怎么写?