patb1028人口普查

#include
#include
#include
#include
using namespace std;
struct person{
char name[20];
int yy,mm,dd;
bool operator <(const person &e) const {
if(yy!=e.yy) return yy else if(mm!=e.mm) return mm else return dd }
}buf[999999];
int main(int argc, char** argv) {
int  k;
scanf("%d",&k);
int count=0;
for(int i=0;i char str[20]; int y1,m1,d1;
scanf("%s%d/%d/%d",str,&y1,&m1,&d1);
// if(y1<=1814 && m1<=9 && d1<=6 || y1>=2014 && m1>=9 && d1>=6) continue;
if(y1<1814 || y1>2014) continue;
if(y1==1814 && m1<9)   continue;
if(y1==1814 && m1==9 && d1<6) continue;
if(y1==2014 && m1>9)   continue;
if(y1==2014 && m1==9 && d1>6) continue;
for(int i=0;i buf[count].name[i]=str[i];
}
buf[count].yy=y1; buf[count].mm=m1; buf[count].dd=d1;
count++;
}
sort(buf,buf+count);
if(count==0) printf("0");
else{
printf("%d %s %s",count,buf[0].name,buf[count-1].name);
}

return 0;
}

你可能感兴趣的:(patB,入门模拟)