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