题解 | #查找兄弟单词#
查找兄弟单词
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")