题目链接 ------------------------------------------
题意:把(a,b)(b,c)保存为(a,c)
代码
#include<iostream>
#include<cstdio>
#include<cstring>
#include<string>
#include<map>
using namespace std;
map<string ,string> m;
int main()
{
string s1,s2;
int n;
cin>>n;
for(int i=0; i<n; i++)
{
cin>>s1>>s2;
if(!m.count(s1))
m[s2]=s1;
else
{
m[s2]=m[s1];
m.erase(s1);
}
}
cout<<m.size()<<endl;
for(map<string ,string>::iterator i=m.begin(); i!=m.end(); i++)
cout<<i->second<<" "<<i->first<<endl;
return 0;
}