#include <stdio.h>
#define MAX 10
//#define MAX 1000
int K;
char src[MAX];
int num[MAX];
int str_len(char * s)
{
int n = 0;
while (s[n]) n++;
return n;
}
int str_cmp(char * a, char * b)
{
while (*a || *b)
{
if (*a != *b) return *a - *b;
a++;
b++;
}
return 0;
}
void q_sort(int s, int e)
{
int T, L, P = e, tmp;
if (s >= e) return;
for (L = s, T = s; L < e; L++)
{
if (str_cmp(&src[num[L]], &src[num[P]]) < 0)
{
if (L != T)
{
tmp = num[L];
num[L] = num[T];
num[T] = tmp;
}
T++;
}
}
if (T != P)
{
tmp = num[T];
num[T] = num[P];
num[P] = tmp;
}
q_sort(s, T - 1);
q_sort(T + 1, e);
}
int main(void)
{
freopen("input.txt", "r", stdin);
int T;
scanf("%d", &T);
for (int t = 1; t <= T; t++)
{
scanf("%d%s", &K, src);
int l = str_len(src);
for (int i = 0; i < l; i++) num[i] = i;
q_sort(0, l - 1);
if (0 <= K && K<l) printf("#%d %s\n", t, &src[num[K - 1]]);
else printf("none\n");
for (int i = 0; i < l; i++) num[i] = src[i] = 0;
}
return 0;
}
댓글