Codeforces Round #177 (Div. 1) / 288A Polo the Penguin and Strings(贪心)
来源:互联网 发布:甄嬛传演技知乎 编辑:程序博客网 时间:2024/05/01 17:02
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:
- The string consists of n lowercase English letters (that is, the string's length equals n), exactly k of these letters are distinct.
- No two neighbouring letters of a string coincide; that is, if we represent a string as s = s1s2... sn, then the following inequality holds,si ≠ si + 1(1 ≤ i < n).
- 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 = x1x2... xp is lexicographically less than string y = y1y2... yq, if either p < q and x1 = y1, x2 = y2, ... , xp = yp, or there is such number r (r < p, r < q), that x1 = y1, x2 = y2, ... , xr = yr and xr + 1 < yr + 1. The characters of the strings are compared by their ASCII codes.
A single line contains two positive integers n and k (1 ≤ n ≤ 106, 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).
7 4
ababacd
4 7
-1
大水题。
完整代码:
/*30ms,0KB*/#include<cstdio>int main(){int n, k;scanf("%d%d", &n, &k);if (n < k)printf("-1");else if (n == k)for (int i = 97; i < 97 + k; ++i)putchar(i);else if (k == 1)printf("-1");else{n -= k - 2;if (n & 1){n = (n - 1) >> 1;for (int i = 0; i < n; ++i){putchar('a');putchar('b');}putchar('a');}else{n >>= 1;for (int i = 0; i < n; ++i){putchar('a');putchar('b');}}for (int i = 99; i < 97 + k; ++i)putchar(i);}return 0;}
- Codeforces Round #177 (Div. 1) / 288A Polo the Penguin and Strings(贪心)
- Codeforces Round #177 (Div. 1) A - Polo the Penguin and Strings
- 【贪心】Codeforces Round #177 (Div. 1) C - Polo the Penguin and XOR operation
- Codeforces Round #177 (Div. 1) C. Polo the Penguin and XOR operation(贪心)
- CodeForces 288A Polo the Penguin and Strings
- Codeforces Round #177 (Div. 2)---E. Polo the Penguin and XOR operation(贪心)
- Codeforces Round #177 (Div. 1) B. Polo the Penguin and Houses (组合数学)
- Codeforces Round #177 (Div. 1) B - Polo the Penguin and Houses
- A. Polo the Penguin and Strings
- Codeforces Round #177 (Div. 2)---D. Polo the Penguin and Houses (组合数学+暴力)
- codeforces Polo the Penguin and Strings 思维问题代码链接
- Codeforces-289a I Polo the Penguin and Segments
- CodeForces 289A Polo the Penguin and Segments
- CodeForces 289A Polo the Penguin and Segments
- CodeForces 288C - Polo the Penguin and XOR operation
- CodeForces 288C - Polo the Penguin and XOR operation(思维)
- Codeforces 288E Polo the Penguin and Lucky Numbers
- CodeForces 288C - Polo the Penguin and XOR operation
- jquery表单验证,确定必须字段不留空,为数字
- asp.net gridview
- 新买的3TB新硬盘为何缩水了??
- linux 的shell 编写常用技巧
- 湫湫系列故事——减肥记I
- Codeforces Round #177 (Div. 1) / 288A Polo the Penguin and Strings(贪心)
- linux中的PATH环境变量
- map容器
- android 程序开机启动。
- 湫湫系列故事——减肥记II
- Group sdba unknown
- 《windows网络编程》第二版的翻译错误一例
- getting start with storm 翻译 第一章
- C++中map容器的说明和使用技巧