501B - Misha and Changing Handles

只能说这题体现了map的能力很强大

#include

using namespace std;

const int N = 1010;

int main(){
    map<string,string> m;
	int n;
	cin>>n;
	string a,b;
	while(n--){
		cin>>a>>b;
		if(m.count(a)==0){
			m[a] = a;
		}
		m[b] = m[a];
		m.erase(a);	
	}
	cout<<m.size()<<endl;
	for(auto it=m.begin();it!=m.end();it++){
		cout<<it->second<<" "<<it->first<<endl;
	} 
  
}

你可能感兴趣的:(算法与数据结构,c++,动态规划,开发语言)