#include <iostream>
using namespace std;
int main()
{
int N;
cin>>N;
//maxbirth保存年龄较小的人,minbirth保存年龄较大的
string name,birth,maxbirth="1814/09/06",minbirth="2014/09/06",maxname,minname;
// string temp ="1814/09/06" ;
int cnt=0;
for(int i=0;i<N;i++)
{
cin>>name>>birth;
if(birth >="1814/09/06" && birth<= "2014/09/06")
{
cnt++;
if(birth>=maxbirth)//如果有人年龄在最小年龄的人之后出生,则将这个人的年龄修改为最小年龄
{
maxbirth = birth;
maxname = name;//maxname是指保存年龄最小的人
}
if(birth<=minbirth )//minbirth保存最大年龄人的龄,如果有人的年龄比在minbirth年龄之前出生,这个人对应年纪最大的人
{
minbirth = birth;
minname = name;
}
}
}
cout<<cnt;
//输出满足要求的人,并且minname表示为年长的人,maxname表示年龄最小的人
if(cnt!=0) cout<<" "<<minname<<" "<<maxname;
return 0;
}
PAT1028题解释
最新推荐文章于 2021-06-15 23:32:11 发布