301524: CF288A. Polo the Penguin and Strings
Memory Limit:256 MB
Time Limit:2 S
Judge Style:Text Compare
Creator:
Submit:0
Solved:0
Description
Polo the Penguin and Strings
题意翻译
``` CF288A 题目大意: 找到一个字符串,满足以下条件: 1、长度为n,且字符串中包含k种小写字母; 2、相邻的字符不相等; 3、在满足1、2两条件的所有字符串中字典序最小。 输入格式: 一行,包含两个整数n、k,分别表示字符串的长度以及包含的小写字母数量(1<=n<=1000000,1<=k<=26) 输出格式: 若存在满足上述条件的字符串,输出该字符串,否则输出-1 ```题目描述
Little penguin Polo adores strings. But most of all he adores strings of length $ n $ . One day he wanted to find a string that meets the following conditions: 1. The string consists of $ n $ lowercase English letters (that is, the string's length equals $ n $ ), exactly $ k $ of these letters are distinct. 2. No two neighbouring letters of a string coincide; that is, if we represent a string as $ s=s_{1}s_{2}...\ s_{n} $ , then the following inequality holds, $ s_{i}≠s_{i+1}(1<=i<n) $ . 3. Among all strings that meet points 1 and 2, the required string is lexicographically smallest. Help him find such string or state that such string doesn't exist. String $ x=x_{1}x_{2}...\ x_{p} $ is lexicographically less than string $ y=y_{1}y_{2}...\ y_{q} $ , if either $ p<q $ and $ x_{1}=y_{1},x_{2}=y_{2},...\ ,x_{p}=y_{p} $ , or there is such number $ r $ $ (r<p,r<q) $ , that $ x_{1}=y_{1},x_{2}=y_{2},...\ ,x_{r}=y_{r} $ and $ x_{r+1}<y_{r+1} $ . The characters of the strings are compared by their ASCII codes.输入输出格式
输入格式
A single line contains two positive integers $ n $ and $ k $ $ (1<=n<=10^{6},1<=k<=26) $ — the string's length and the number of distinct letters.
输出格式
In a single line print the required string. If there isn't such string, print "-1" (without the quotes).
输入输出样例
输入样例 #1
7 4
输出样例 #1
ababacd
输入样例 #2
4 7
输出样例 #2
-1