问题标题: 酷町堂:1491 同年同月同日生

0
0
已解决
李沫朴
李沫朴
新手天翼
新手天翼

酷町堂共有n个学生,现统计每位学生的出生年月日,试找出所有同年同月同日生的学生,并输出出来。

输入描述 Input Description

输入为n+1行:
第一行为酷町堂的学生数n(n≤100);
之后的n行为酷町堂学员的姓名以及出生年(其中年份在01年以后)、月、日,中间用单个空格隔开。

输出描述 Output Description

输出每一行为每一组生日相同的学生,其中前三个数字表示出生年、月、日,之后为生日相同的学生姓名。对于所有的输出,年月日按照从日历从前到后的顺序输出,对于生日相同的学生姓名,按照姓名从短到长的顺序输出,如果长度相同,则按照字典序输出。如果没有生日相同的学生,则输出“No”。

样例输入 Sample Input

6 Liudehua 05 3 2 Zhoujielun 05 4 5 Chenyixue 05 3 2 Huge 05 4 5 Liuyifei 05 3 2 Wanglihong 06 3 2

样例输出 Sample Output

05 3 2 Liudehua Liuyifei Chenyixue 05 4 5 Huge Zhoujielun


0
已采纳
王文博
王文博
缔造者之神
缔造者之神

给两个关键的东西:

bool cmp(stu a,stu b)
{
    if(a.y!=b.y) return a.y<b.y;
    if(a.m!=b.m) return a.m<b.m;
    if(a.d!=b.d) return a.d<b.d;
    if(a.n.size()!=b.n.size()) return a.n.size()<b.n.size();
    return a.n<b.n;
}
bool check(int b)
{
    if(a[b].y==a[b+1].y&&a[b].m==a[b+1].m&&a[b].d==a[b+1].d) return 1;
    return 0;
}

 

0
0
0
0
0
0
0
0
0
包思远
包思远
新手启示者
新手启示者

@李沫朴   等到我们工作室升级了之后,宁外一个副室长的名额就是你的了

你要好好表现,多多为我们工作室点赞,只有这样我和汪艾辰才有理由立你为副室长

0
0
0
0
我要回答