/* * 解题思路:不会,暴力解决... * 这题目描述真不是给人看的... * 我写出来的答案也不是给人看的,反正我明天估计就看不懂了 */ import java.util.*; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); while (sc.hasNextLine()) { int count = sc.nextInt(); String[] strs = sc.nextLine().split(" "); int len = strs.length - 2; int num = Integer.parseInt(strs[len + 1]); String toFind = strs[len]; char[] tmp = toFind.toCharArray(); Arrays.sort(tmp); String target = new String(tmp); ArrayList<String> list = new ArrayList<String>(); for (int i = 0; i < len; i++) { if (strs[i].length() == toFind.length() && !strs[i].equals(toFind)) { char[] chs = strs[i].toCharArray(); Arrays.sort(chs); if ((new String(chs)).equals(target)) { list.add(strs[i]); } } } Collections.sort(list); System.out.println(list.size()); if (num < list.size()) { // 第k个,不是下标为k System.out.println(list.get(num - 1)); } } } }