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