1028 Census (20 minutes)


bug Code:


import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;

public class Main {

    public static void main(String[] args) throws ParseException, IOException {
        BufferedReader sc = new BufferedReader(new InputStreamReader(System.in));
        SimpleDateFormat sdf=new SimpleDateFormat("yyyy/mm/dd");
       // long l = (sdf.parse("2014/09/06").getTime() - sdf.parse("1814/09/06").getTime()) / (1000 * 3600 * 24);
//        System.out.println("相差天数:"+l);
//        String nowStr="2014/09/06";
//        String beforeStr="2014/09/16";
//        long l = (sdf.parse(beforeStr).getTime() - sdf.parse(nowStr).getTime()) / (1000 * 3600 * 24);
//        System.out.println(l);
        String nowStr="2014/09/06";
        Date now=sdf.parse(nowStr);
        int cnt=0;
        Map<Date,String> map= new TreeMap<>();
        int n=Integer.parseInt(sc.readLine());
        for(int i=0;i<n;i++){
            String []s=sc.readLine().split(" ");
            String value=s[0];
            String key=s[1];
           // System.out.println(key);
            String []str=key.split("/");
            if(Integer.parseInt(str[0])>2014){
                continue;
            }
            //1000 * 24 * 60 * 60
//            long time=now.getTime()-sdf.parse(key).getTime();//ms
//            if((time/ (1000*3600*24)>365*200)){
//                System.out.println("相差天数: "+time/ (1000*3600*24));
//                continue;
//            }
            if(Integer.parseInt(str[0])<1814){
                continue;
            }
            if(Integer.parseInt(str[0])==1814){
                if(Integer.parseInt(str[1])<9){
                    continue;
                }
                if(Integer.parseInt(str[1])==9){
                    if(Integer.parseInt(str[2])<6){
                        continue;
                    }
                }
            }
            map.put(sdf.parse(key),value);
            cnt++;
        }
        if(map.size()==0){
            System.out.println("0");return;
        }

        int num=0;
        System.out.print(cnt+" ");
        for(Map.Entry<Date,String> m:map.entrySet()){
            Date key=m.getKey();
            String value=m.getValue();
            num++;
            if(num==1){
                System.out.print(value+" ");
            }
            if(num==cnt){
                System.out.println(value);
               // return;
            }
            //System.out.println(sdf.format(key)+" :"+value);
        }


    }
}


Two test points have not seen:

Guess you like

Origin www.cnblogs.com/cstdio1/p/12130977.html