题目链接
坑点
没有一个合理的情况
实现
#include <iostream>
#include <cstdio>
#include <string>
using namespace std;
int main()
{
string maxName="";
string minName="";
int N;
scanf("%d", &N);
int all = N;
int minDay = 20140906;
int maxDay=18140906;
string inName="";
int inYear, inMonth, inDay,failNum=0;
while (N--)
{
cin>>inName;
scanf("%d/%d/%d", &inYear, &inMonth, &inDay);
int cmpNum = inYear * 10000 + inMonth * 100 + inDay;
if (cmpNum < 18140906 || cmpNum>20140906)
failNum++;
else
{
if (cmpNum < minDay)
{
minDay = cmpNum;
maxName = inName;
}
if (cmpNum > maxDay)
{
maxDay = cmpNum;
minName = inName;
}
}
}
if(all-failNum!=0)
cout<<all - failNum<<" "<<maxName<<" "<<minName;
else
cout<<"0";
return 0;
}