RT,这串是AC的代码
#include<bits/stdc++.h>
using namespace std;
map< string,map<string,int> > a;
int n,ans;
string aa,bb;
int main(){
cin>>n;
for (int i=1;i<=n;i++){
cin>>aa>>bb;
aa=aa.substr(0,2);
if (aa!=bb){
ans+=a[aa][bb];
a[bb][aa]++;
}
}
cout<<ans;
}
如果第一次查到 它的对应的一组省市的值就会+1
下次如果查到这组数据ans就会+1
但为什么这串代码就不行?
#include<bits/stdc++.h>
using namespace std;
map<string,string> a;
int n,ans;
string aa,bb;
int main(){
cin>>n;
for (int i=1;i<=n;i++){
cin>>aa>>bb;
aa=aa.substr(0,2);
if (aa!=bb){
a[aa]=bb;
if (a[bb]==aa) ans++;
}
}
cout<<ans;
}