#include <bits/stdc++.h> using namespace std; //思路:1、判断是否兄弟单词{1单词不能相同;2满足单词长度一样;3满足排序后单词相同;};2、将兄弟单词加入字符串数组中,输出数组长度;3、将兄弟单词字符串数组排序后输出第k位。 bool isBrother(string s1, string s2) { if (s1.length() == s2.length() ){ if(s1 == s2) return false; sort(s1.begin(), s1.end()); sort(s2.begin(), s2.end()); if (s1 == s2) return true; } return false; } int main() { int n;//单词数量 cin >> n; vector<string> str(n);//输入n个单词的字符串数组 for (int i = 0; i < n; i++) cin >> str[i]; string x;//要查找的x单词 cin >> x; int k;//要查找的第k个兄弟单词 cin >> k; vector<string> bro;//符合兄弟单词的字符串数组 for (int i = 0; i < n; i++) { if (isBrother(str[i], x)) bro.push_back(str[i]); } sort(bro.begin(), bro.end()); cout << bro.size() << endl; if(k<=bro.size()) cout << bro[k - 1] << endl; return 0; } // 64 位输出请用 printf("%lld")