题解 | #查找兄弟单词#
查找兄弟单词
https://www.nowcoder.com/practice/03ba8aeeef73400ca7a37a5f3370fe68
排序后比较即可
#include <algorithm> #include <iostream> #include <vector> using namespace std; const int maxn = 5 + 1e3; int n, k; string a[maxn]; string src, sorted_src; vector<string> ans; bool isBrother(string tar) { if (tar == src) return false; sort(tar.begin(), tar.end()); return sorted_src == tar; } int main() { cin >> n; for (int i = 1; i <= n; ++i) cin >> a[i]; cin >> src >> k; sorted_src = src; sort(sorted_src.begin(), sorted_src.end()); for (int i = 1; i <= n; ++i) { if (isBrother(a[i])) ans.push_back(std::move(a[i])); } cout << ans.size() << endl; if (ans.size() < k) return 0; sort(ans.begin(), ans.end()); cout << ans[k - 1]; }