本文共 650 字,大约阅读时间需要 2 分钟。
有N个改名的动作,输出改完名的最终结果。
拿map做映射
1 #include 2 #include 3 #include 4 using namespace std; 5 map mp; 6 map vis; 7 int n; 8 string s1,s2; 9 int main()10 {11 cin>>n;12 map ::iterator it;13 for(int i=1;i<=n;i++)14 {15 cin>>s1>>s2;16 if(!vis[s1]&&!vis[s2])17 {18 vis[s1]=1; vis[s2]=1; mp[s1]=s2;19 }20 else if(vis[s1]&&!vis[s2])21 {22 vis[s2]=1;23 for(it=mp.begin();it!=mp.end();it++) 24 {25 if(it->second==s1) 26 {27 it->second=s2; break;28 }29 }30 }31 }32 cout< < first<<" "< second<
转载于:https://www.cnblogs.com/nicetomeetu/p/5678145.html