C~K的班级
Time Limit: 1500 ms
Memory Limit: 65536 KiB
Problem Description
经过不懈的努力,C~K终于当上了班主任。
现在他要统计班里学生的名单,但是C~K在教务系统中导出班级名单时出了问题,发现会有同学的信息重复,现在他想把重复的同学信息删掉,只保留一个,
但是工作量太大了,所以找到了会编程的你,你能帮他解决这个问题吗?
Input
第一行输入一个N,代表C~K导出的名单共有N行(N<100000).
接下来的N行,每一行包括一个同学的信息,学号 姓名 年龄 性别。
Output
第一行输出一个n,代表删除重复名字后C~K的班级共有几人。
接下来的n行,输出每一个同学的信息,输出按照输入的顺序。
Sample Input
6 0001 MeiK 20 M 0001 MeiK 20 M 0002 sdk2 21 M 0002 sdk2 21 M 0002 sdk2 21 M 0000 blf2 22 F
Sample Output
3 0001 MeiK 20 M 0002 sdk2 21 M 0000 blf2 22 F
Hint
import java.util.*;
import java.lang.*;
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
String a = sc.nextLine();
ArrayList<String> list = new ArrayList<String>(); //动态数组
while(n-- != 0) {
a = sc.nextLine();
if(list.contains(a)) { //当已经存在时
continue;
}
else { //不存在时加入
list.add(a);
}
}
System.out.println(list.size()); //个数
for(int i = 0; i < list.size(); i++) {
System.out.println(list.get(i)); //输出
}
sc.close();
}
} //在输出时
/*Iterator<String> it = list.iterator();
while(it.hasNext()) {
System.out.println(it.next());
}*///迭代器输出