题解 | 特殊城市

特殊城市

https://www.nowcoder.com/practice/46f68af83db74b709a788dedb656c5f9

本题使用嵌套哈希表以降低时间复杂度。

#include <iostream>
#include <map>
using namespace std;
int main(){
    int n,sum=0;
    string s1,s2;
    cin>>n;
    map<string,map<string,int>> m;                     //嵌套map
    for(int i=0;i<n;i++){
        cin>>s1>>s2;
        m[s1.substr(0,2)][s2]++;
    }
    for(auto [a,inner_map]:m){
        for(auto [b,count1]:inner_map){
            if(a==b) continue;
            if(m.count(b) && m[b].count(a))
                sum+=count1*m[b][a];
        }
    }
    cout<<sum/2;
    return 0;
}

全部评论

相关推荐

评论
1
收藏
分享

创作者周榜

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