mhb233 2019-11-07 17:09 采纳率: 0%
浏览 432

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条回答

  • dabocaiqq 2019-11-08 17:15
    关注
    评论

报告相同问题?

悬赏问题

  • ¥15 树莓派与pix飞控通信
  • ¥15 自动转发微信群信息到另外一个微信群
  • ¥15 outlook无法配置成功
  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题