20230402网易有道笔试之归元等计算(ac)

#include<iostream>
#include<algorithm>
#include<map>
using namespace std;

string unique_string(string s) {
    sort(s.begin(), s.end());
    s.erase(unique(s.begin(), s.end()), s.end());
    return s;
}

int main() {
    string A;
    int n;
    while (cin >> A >> n) {
        int res = 0;
        map<string, int> m_s;
        for (int i = 0 ; i < n ; ++i) {
            string B;
            cin >> B;
            B = unique_string(B);
            if (m_s.find(B) != m_s.end())
                m_s[B]++;
            else
                m_s.insert(pair<string , int>(B , 1));
            }
        A = unique_string(A);
        for(map<string , int>::iterator it = m_s.begin() ; it != m_s.end() ; ++it){
            string temp = unique_string(A + it->first);
            int b = 0;
            if (m_s.find(temp) == m_s.end())
                continue;
            else
                b = m_s[temp];
            int a = it->second;
            if(temp == it->first)//数量为n * (n - 1)
                res += a * (a - 1);
            else//数量为n * m
                res += a * b;
        }
        cout<<res<<endl;
    }
    return 0;
}

欢迎评论区留言!!!

#网易笔试##春招笔试##悬赏#
全部评论
时间空间复杂度分析是?
点赞 回复 分享
发布于 2023-04-03 11:00 辽宁
如果能有解题思路就更好了😁
点赞 回复 分享
发布于 2023-04-03 10:27 重庆

相关推荐

点赞 评论 收藏
分享
03-03 23:12
已编辑
北京邮电大学 Java
书海为家:我来给一点点小建议,因为毕竟还在学校不像工作几年的老鸟有丰富的项目经验,面试官在面试在校生的时候更关注咱们同学的做事逻辑和思路,所以最好在简历中描述下自己做过项目的完整过程,比如需求怎么来的,你对需求的解读,你想到的解决办法,遇到困难如何找人求助,最终项目做成了什么程度,你从中收获了哪些技能,你有什么感悟。
你的简历改到第几版了
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

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