java算法:生日相同

来源:互联网 发布:淘宝显示包邮商品 编辑:程序博客网 时间:2024/06/11 01:53
时间限制: 
1000ms 
内存限制: 
65536kB
描述
在一个有180人的大班级中,存在两个人生日相同的概率非常大,现给出每个学生的学号,出生月日。试找出所有生日相同的学生。
输入
第一行为整数n,表示有n个学生,n<100。此后每行包含一个字符串和两个整数,分别表示学生的学号(字符串长度小于10)和出生月(1<=m<=12)日(1<=d<=31)。学号、月、日之间用一个空格分隔。
输出
对每组生日相同的学生,输出一行,其中前两个数字表示月和日,后面跟着所有在当天出生的学生的学号,数字、学号之间都用一个空格分隔。对所有的输出,要求按日期从前到后的顺序输出。对生日相同的学号,按输入的顺序输出。
样例输入
500508192 3 200508153 4 500508172 3 200508023 4 500509122 4 5
样例输出
3 2 00508192 005081724 5 00508153 00508023 00509122

import java.awt.Checkbox;import java.util.Arrays;import java.util.Comparator;import java.util.Scanner;import java.util.Vector;/** *  *//** * @author 赵国栋 *zhaoguodongjelly@163.com2012-3-3 */class user{public int id;public int m;public int d;/** * @param id * @param cj *//** * @param id * @param m * @param d */public user(int id, int m, int d) {super();this.id = id;this.m = m;this.d = d;}}  class Main {/** * @param args *//* 510948001 8010948004 9010948101 9510948102 8010948209 90*/public static void main(String[] args) {// TODO Auto-generated method stubScanner scanner=new Scanner(System.in);int nums=Integer.parseInt(scanner.nextLine());user[] users=new user[nums];user u;for (int i = 0; i <nums; i++) {String argString=scanner.nextLine();String fen[]=argString.trim().split(" +");u=new user(Integer.parseInt(fen[0]),Integer.parseInt(fen[1]),Integer.parseInt(fen[2]));users[i]=u;}/*Comparator userComparator=new Comparator<user>() {@Overridepublic int compare(user o1, user o2) {// TODO Auto-generated method stubreturn (int) (o2.cj-o1.cj);}};*///Arrays.sort(users, userComparator);int [][]time=new int[13][32];for (int i = 0; i < users.length; i++) {time[users[i].m][users[i].d]++;}for (int i = 1; i < 13; i++) {for (int j = 1; j < 32; j++) {if (time[i][j]>1) {Check(i,j,users);}}}}/** * @param i * @param users */private static void Check(int i,Integer j, user[] users) {// TODO Auto-generated method stubSystem.out.print(i+" "+j+" ");String iString="";for (int k = 0; k < users.length; k++) {if (users[k].m==i&&users[k].d==j) {//System.out.print(users[k].id+" ");iString=iString+users[k].id+" ";}}System.out.println(iString); ///这个地方多了一个空格,所以没有一次pass、、}} 

原创粉丝点击