题解 | #查找兄弟单词#
查找兄弟单词
https://www.nowcoder.com/practice/03ba8aeeef73400ca7a37a5f3370fe68
#include <iostream>
using namespace std;
#include <bits/stdc++.h>
//创建函数,利用字符串排序算法,得到兄弟单词
bool Bro(string a, string b) {
if (a == b) return false;
sort(a.begin(), a.end());
sort(b.begin(), b.end());
return (a == b);
}
int main() {
int a, count = 0, k;
string str, sample;
//个数
cin >> a;
vector <string> v1, v2;
while (count < a) {
cin >> str;
//字符串池
v1.push_back(str);
++count;
}
//样本单词
cin >> sample;
cin >> k;
//兄弟单词单独放进一个容器里
for (auto v : v1) {
if (Bro(sample, v)) v2.push_back(v);
}
//兄弟单词排序
sort(v2.begin(), v2.end());
cout << v2.size() << endl;
//第k个存在则输出
if (v2.size()>=k&&k>0) cout<<v2[k-1];
}
// 64 位输出请用 printf("%lld")