pat官网与牛客网两者结果对比

乙级 1028 人口普查 (20 分)这个题
在pat官网中,
编程提交,结果如下:
图片说明

在牛客网中,提交结果如下:

图片说明
运行超时我就不说了,可是为什么牛客网通过了二官网却有一个错误?求告知。
下面是我的代码:

import java.util.*;
public class Main {
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        int n=sc.nextInt();//定义人数
        String str[][]=new String[n][2];//创建n人的资料数组
        int str1[]=new int[n];//创建保存出生年月的数组
        int temp1=100000000;//最小岁数的人,所以初值应大于20140906
        int temp2=0;//最大岁数的人,所以temp1初值为0
        int m1=0;//最大岁数人对应的位置,初值为0
        int m2=0;//最小岁数人对应的位置,初值为0
        int temp=0;//合理生日人数
        for(int i=0;i<n;i++) {//输入名字,出生年月

            for(int j=0;j<2;j++){
                str[i][j]=sc.next();
            }   
            String st=str[i][1].substring(0, 4)+str[i][1].substring(5, 7)+str[i][1].substring(8, 10);
            str1[i]=(int)Double.parseDouble(st);//将出生年月去掉'/'后赋值
            if(str1[i]>=18140906&&str1[i]<=20140906) {//超过200岁的和未出生的是不合理的,今天是2014/09/06
                    temp++; 
                if(temp1>=str1[i]) {//找出最大岁数的人
                    temp1=str1[i];//将生日赋值给temp1
                    m1=i;//将位置保存在m1中
                }
                if(temp2<=str1[i]) {//找出最小岁数的人
                    temp2=str1[i];//将生日赋值给temp2
                    m2=i;//将位置保存在m2中
                }
            }   
        }
        System.out.print(temp);
        System.out.print(" ");//空格间隔
        System.out.print(str[m1][0]);//岁数最大得人
        System.out.print(" ");//空格间隔
        System.out.print(str[m2][0]);//岁数最小的人
    }
}

1个回答

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问