#include <iostream>
#include <string>
#include <algorithm>
#include <memory.h>
#include <map>
using namespace std;
int main(){
int n;
while(cin>>n && n){
bool visit[20]; //判断是否已经访问过
string ID[20];
string IP[20];
map<string,string> record;
map<string,string>::iterator it;
memset(visit,0,sizeof(visit));
//输入
for(int i = 0;i < n;i++){
cin>>ID[i]>>IP[i];
}
for(int i = 0;i < n;i++){
if(!visit[i]){
for(int j = i+1;j < n;j++){
if(!visit[j] && IP[i] == IP[j]){
visit[i] = true;
visit[j] = true;
record.insert(make_pair(ID[i],ID[j]));
}
}
}
}
for(it = record.begin();it != record.end();it++){
cout<<it->second<<" is the MaJia of "<<it->first<<endl;
}
cout<<endl;
}
#include <string>
#include <algorithm>
#include <memory.h>
#include <map>
using namespace std;
int main(){
int n;
while(cin>>n && n){
bool visit[20]; //判断是否已经访问过
string ID[20];
string IP[20];
map<string,string> record;
map<string,string>::iterator it;
memset(visit,0,sizeof(visit));
//输入
for(int i = 0;i < n;i++){
cin>>ID[i]>>IP[i];
}
for(int i = 0;i < n;i++){
if(!visit[i]){
for(int j = i+1;j < n;j++){
if(!visit[j] && IP[i] == IP[j]){
visit[i] = true;
visit[j] = true;
record.insert(make_pair(ID[i],ID[j]));
}
}
}
}
for(it = record.begin();it != record.end();it++){
cout<<it->second<<" is the MaJia of "<<it->first<<endl;
}
cout<<endl;
}
}
本题中用到了map,就不用对自己排序,map中不能用sort函数,因为它是自动对存放在其中的键值对进行排序的。这道题目属于简单的题目,主要处理输出,这里自己犯了错误,导致做了好久才做出来,太水了,没办法。