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 10:27 重庆
时间空间复杂度分析是?
点赞 回复 分享
发布于 2023-04-03 11:00 辽宁

相关推荐

joe2333:怀念以前大家拿华为当保底的日子
点赞 评论 收藏
分享
1 收藏 评论
分享
牛客网
牛客企业服务