题解 | #查找兄弟单词#
查找兄弟单词
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];
}

查看13道真题和解析