博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
生日相同 2.0
阅读量:6799 次
发布时间:2019-06-26

本文共 1485 字,大约阅读时间需要 4 分钟。

总时间限制: 
1000ms
内存限制: 
65536kB
描述

在一个有180人的大班级中,存在两个人生日相同的概率非常大,现给出每个学生的名字,出生月日。试找出所有生日相同的学生。

输入
第一行为整数n,表示有n个学生,n ≤ 180。此后每行包含一个字符串和两个整数,分别表示学生的名字(名字第一个字母大写,其余小写,不含空格,且长度小于20)和出生月(1 ≤ m ≤ 12)日(1 ≤ d ≤ 31)。名字、月、日之间用一个空格分隔
输出
每组生日相同的学生,输出一行,其中前两个数字表示月和日,后面跟着所有在当天出生的学生的名字,数字、名字之间都用一个空格分隔。对所有的输出,要求按日期从前到后的顺序输出。 对生日相同的名字,按名字从短到长按序输出,长度相同的按字典序输出。如没有生日相同的学生,输出”None”
样例输入
6Avril 3 2Candy 4 5Tim 3 2Sufia 4 5Lagrange 4 5Bill 3 2
样例输出
3 2 Tim Bill Avril4 5 Candy Sufia Lagrange string 的STL大法+模拟
1 #include
2 using namespace std; 3 struct node{ 4 string s; 5 int yue,ri; 6 }a[200]; 7 int N; 8 int cmp(const node&w,const node&e){ 9 if(w.yue
>a[i].s;28 cin>>a[i].yue>>a[i].ri;29 }30 sort(a+1,a+N+1,cmp);31 a[N+1].yue=100; a[N+1].ri=100;32 for(int i=2;i<=N+1;i++){33 if(a[i].yue==a[i-1].yue&&a[i].ri==a[i-1].ri){34 tot++;35 if(tot==1){36 ans[tot]=a[i-1].s;37 ans[++tot]=a[i].s;38 }39 else{40 ans[tot]=a[i].s;41 }42 }43 else{44 if(tot>=2){45 jud=true;46 cout<
<<" "<
<<" ";47 for(int i=1;i<=tot;i++){48 cout<
<<" ";49 }50 cout<

 

转载于:https://www.cnblogs.com/CXCXCXC/p/4903227.html

你可能感兴趣的文章
Centos-Kafka 消息队列
查看>>
蚂蚁金服微服务实践 | 开源中国年终盛典分享实录 ...
查看>>
你应该知道的 HBase 基础,都在这儿了
查看>>
理解RESTful架构
查看>>
详解docker中容器devicemapper设备的挂载流程
查看>>
head first python 6 class 扩展
查看>>
大数据,多大算“大
查看>>
「镁客·请讲」前知智能唐宝:中国金属3D打印最大的挑战是软硬件的自研与国产化 ...
查看>>
EMNLP2018 - 语言理解+对话系统的最新进展
查看>>
如何解决移动电商平台中的“伪曝光”?
查看>>
迁云工具版本更新(1.3.2.5)
查看>>
使用golang编写prometheus metrics exporter
查看>>
基于python开发的股市行情看板
查看>>
linux进程管理总结
查看>>
Linux学习笔记(1)--基本命令
查看>>
Longhorn:实现Kubernetes集群的持久化存储
查看>>
阿里云 Aliplayer高级功能介绍(三):多字幕
查看>>
Data Lake Analytics: 以SQL方式查询Redis数据
查看>>
一条查询sql的执行流程和底层原理
查看>>
ActiveMQ多个消费者消费不均匀问题
查看>>