去重并排序后的记录每行一条。
先按GF的名字排序,如果名字相同,则按号码排序,如果号码也相同,那是一条重复的记录。
输入:7
TOMGF 9999999
TOMGF1 123456789
TOMGF2 123456789
TOMGF1 12345678
TOMGF11 545464
TOMGF5 23456789
TOMGF1 123456789
输出:
TOMGF 9999999
TOMGF1 12345678
TOMGF1 123456789
TOMGF11 545464
TOMGF2 123456789
TOMGF5 23456789
#include<bits/stdc++.h>
using namespace std;
struct phone
{
int num;
int name;
}GF[10010];
bool cmp(phone x,phone y)
{
if (x.name!=y.name) return x.name<y.name;
return x.num<y.num;
}
int n;
int main()
{
cin>>n;
for (int i=1;i<=n;i++)
cin>>GF[i].name>>GF[i].num;
sort(GF+1,GF+1+n,cmp);
for(int i=1;i<=n;i++)
if (GF[i].name==GF[i-1].name&&GF[i].num==GF[i].num) continue;
else cout<<GF[i].name<<' '<<GF[i].num<<endl;
}