华为机试:查找兄弟单词

#include <iostream>
#include <algorithm>
#include <string>
#include <set>
using namespace std;

int main() {
    // int a, b;
    // while (cin >> a >> b) { // 注意 while 处理多个 case
    //     cout << a + b << endl;
    // }
    int n;
    cin >> n;
    multiset<string> dict;            //用multiset存储字典可以保存相同元素值同时还能按字典序排序
    string str;
    while (n--) {
        cin >> str;
        dict.insert(str);
    }
    // for (auto it = dict.begin(); it != dict.end(); it++) {
    //     cout << *it << endl;
    // }
    string bro;
    cin >> bro;
    string brox = bro;            //保存单词x的初值
    sort(bro.begin(), bro.end());              //用全排列函数需要初始序列已经排好序
    int k;
    cin >> k;
    int count = 0;
    string ans;
    do{
        if (dict.find(bro) != dict.end() && bro != brox) {
            // cout << bro << endl;
            count += dict.count(bro);
            for (int i = 0; i < dict.count(bro); i++) {
                k--;
                if (k == 0) break;                              //找第k个兄弟单词
            }
        }
        if (!k) {
            ans = bro;
            k--;
        }
    }while (next_permutation(bro.begin(), bro.end()));
    if (!ans.empty()) {
        cout << count << endl << ans << endl;
    }
    else {
        cout << count << endl;
    }
    return 0;
}

全部评论

相关推荐

06-04 18:37
门头沟学院 Java
勇敢的ssr求对象:前面看的有点奔溃,看到只有你是真玩啊,忍不住笑出了声😂
点赞 评论 收藏
分享
叶扰云倾:进度更新,现在阿里云面完3面了,感觉3面答得还行,基本都答上了,自己熟悉的地方也说的比较细致,但感觉面试官有点心不在焉不知道是不是不想要我了,求阿里收留,我直接秒到岗当阿里孝子,学校那边的房子都退租了,下学期都不回学校,全职猛猛实习半年。这种条件还不诱人吗难道 然后现在约到了字节的一面和淘天的复活赛,外加猿辅导。华为笔试完没动静。 美团那边之前投了个base广州的,把我流程卡麻了,应该是不怎么招人,我直接简历挂了,现在进了一个正常的后端流程,还在筛选,不知道还有没有hc。
点赞 评论 收藏
分享
求面试求offer啊啊啊啊:1600一个月?
点赞 评论 收藏
分享
评论
点赞
9
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务