题目描述
如果一个字符串可以被拆分成K个字符串,而且这k个字符串都相同,那么原来的字符串就可以叫做K-String,
例如字符串"aabaabaabaab"可以拆分成一个字符串"aabaabaabaab"(一个当然也就是它本身),也可以拆分成两
个"aabaab",还可以拆分成四个"aab",但是不能够被拆分成三个,五个,六个相同的字符串,给定一个正整
数k和一个只包含小写英文字母的字符串且长度不超过1000,你的任务是重新排列这个字符串,然后把它排列
成K-String。如果有多个答案,输出字典序最小的。
input
2
aazz
3
abcabcabz
output
az
-1
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
int k;
char str[1024]; // 输入源字符串
int alpha[26]; // 辅助字母表
while (scanf("%d", &k) != EOF) {
scanf("%s", str);
// 如果k = 1,输出原串
if (k == 1) {
printf("%s\n", str);
continue;
}
int len = strlen(str);