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

#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;
}