题解 | #查找兄弟单词#
查找兄弟单词
https://www.nowcoder.com/practice/03ba8aeeef73400ca7a37a5f3370fe68
#include <algorithm>
#include <iostream>
#include <vector>
#include <string>
using namespace std;
int main() {
int word_num = 0;
while (cin >> word_num) {
vector<string> words;
while (word_num--) {
string w;
cin >> w;
words.emplace_back(w);
}
string x;
cin >> x;
string sorted_x(x);
sort(sorted_x.begin(), sorted_x.end());
int k;
cin >> k;
vector<string> brothers;
for (const auto& w : words) {
if ((w == x) || (w.size() != x.size())) {
continue;
}
auto sorted_w(w);
sort(sorted_w.begin(), sorted_w.end());
if (sorted_w == sorted_x) {
brothers.push_back(w);
}
}
cout << brothers.size() << endl;
if (k <= brothers.size()) {
sort(brothers.begin(), brothers.end());
cout << brothers[k - 1] << endl;
}
}
}
// 64 位输出请用 printf("%lld")

查看1道真题和解析