小李是学生会的一名干部,在招新的时候他得到了一张有n个新生的名单,但由于办公室的干部们的粗心,这张名单上出现了很多重复的信息。小李很苦恼,于是想寻求你的帮助,帮他把这个名单按照原来的顺序(若遇到重复的信息,只要输出第一个就行,之后的就不需要输出了),留下不重复的信息。
输入格式:
第一行包括只有一个正整数n(1≤n≤104),代表名单上有n个人。
接下来有n行,每一行包括一个学号x(保证长度为15,即∣x∣=15),一个名字y(1≤∣y∣≤10)以及一个电话号码z(∣z∣=11),具体格式见样例。
输出格式:
第一行先输出不重复的信息个数m。
接下来m行按照题意原顺序输出即可!具体看样例。
输入样例1:
3
201912213501001 WangQiang 13344556678
201912213501003 WangDong 13444006681
201912213501002 LeeJack 13300123456
输出样例1:
3
201912213501001 WangQiang 13344556678
201912213501003 WangDong 13444006681
201912213501002 LeeJack 13300123456
输入样例2:
7
201912213501001 WangQiang 13344556678
201912213501003 WangDong 13444006681
201912213501001 WangQiang 13344556678
201912213501003 WangDong 13444006681
201912213501002 LeeJack 13300123456
201912213501001 WangQiang 13344556678
201912213501001 WangQiang 13344556678
输出样例2:
3
201912213501001 WangQiang 13344556678
201912213501003 WangDong 13444006681
201912213501002 LeeJack 13300123456
code:
#include<bits/stdc++.h>
using namespace std;
struct stu{
long long no;
char name[20];
long long num;
};
stu a[10004];
long long p[10004];
int main(){
int n;
cin>>n;
cin>>a[0].no>>a[0].name>>a[0].num;
p[0]=a[0].no;
int t=1;int k=1;
for(int i=1;i<n;i++){
cin>>a[t].no>>a[t].name>>a[t].num;
bool flag=true;
for(int j=0;j<k;j++){
if(a[t].no==p[j]){
flag=false;
break;
}
}
if(flag){
p[k++]=a[t].no;
t++;
}
}
cout<<t<<endl;
for(int i=0;i<t;i++){
cout<<a[i].no<<" "<<a[i].name<<" "<<a[i].num<<endl;
}
return 0;
}