题解 | #查找兄弟单词#
查找兄弟单词
https://www.nowcoder.com/practice/03ba8aeeef73400ca7a37a5f3370fe68
#include <iostream>
using namespace std;
#include<vector>
#include<algorithm>
bool isBrother(string s1,string s2){
if(s1.size()==s2.size()){
if(s1==s2){
return false;
}
sort(s1.begin(),s1.end());
sort(s2.begin(),s2.end());
if(s1==s2){
return true;
}
}
return false;
}
int main() {
int n;
while (cin >> n) { // 注意 while 处理多个 case
vector<string>str;
for(int i=0;i<n;i++){
string s;
cin>>s;
str.push_back(s);
}
string ss;
cin>>ss;
int k;
cin>>k;
vector<string>ans;
for(int i=0;i<n;i++){
if(isBrother(ss,str[i])){
ans.push_back(str[i]);
}
}
sort(ans.begin(),ans.end());
cout<<ans.size()<<endl;
if(ans.size()>=k){
cout<<ans[k-1]<<endl;
}
}
return 0;
}
// 64 位输出请用 printf("%lld")
