相同生日
来源:互联网 发布:雷迪斯ups软件官网 编辑:程序博客网 时间:2024/06/10 22:15
题目描述
在一个有200人的大班级中,存在两个人生日相同的概率非常大,现给出每个学生的学号,出生月日,试找出所有生日相同的学生。
输入
第一行为整数n,表示有n个学生,n<=200。此后每行包含一个字符串和两个整数,分别表示学生的学号(字符串长度为11位)和出生月(1<=m<=12)日(1<=d<=31),学号、月、日之间用一个空格分隔。
输出
对每组生日相同的学生,输出一行,其中前两个数字表示月和日,后面跟着所有在当天出生的学生的学号,数字、学号之间都用一个空格分隔。对所有的输出,要求按日期从前到后的顺序输出。对生日相同的学号,按输入的顺序输出。
样例输入
607101020105 3 1507101020115 4 507101020118 3 1507101020108 4 507101020111 4 507101020121 8 10
样例输出
3 15 07101020105 071010201184 5 07101020115 07101020108 071010201118 10 07101020121
#include <iostream>#include <algorithm>using namespace std;typedef struct {char sno[12];int month;int day;}stu_info;stu_info info[201];bool cmp(stu_info a, stu_info b){if ( a.month == b.month ){return a.day < b.day;}else{return a.month < b.month;}}int main(){int n;cin>>n;for (int i=0; i<n; i++){cin>>info[i].sno>>info[i].month>>info[i].day;}sort(info, info+n, cmp);for (int i=0; i<n; i++){for (int j = i; j<n; j++){if ( info[i].month == info[j].month && info[i].day == info[j].day ){if (i==j)cout<<info[i].month<<" "<<info[i].day<<" "<<info[i].sno;elsecout<<" "<<info[j].sno;} else{cout<<endl;i = j - 1;break;}}}return 0;}
0 0
- 生日相同
- 生日相同
- 相同生日
- java算法:生日相同
- ACM之生日相同
- 1035: 相同生日
- 生日相同的概率
- 2724:生日相同
- 问题 : 相同生日
- Java程序练习-生日相同
- 生日不相同的概率
- 蓝桥杯-生日相同的概率
- 生日相同(结构体排序)
- NOI3.1 6377:生日相同 2.0
- 生日相同 2.0 【open judge】【结构体】
- 50个人中有相同生日的概率是97%
- 3.1数据结构之结构 6377 生日相同 2.0
- 求一百个人中有人生日相同的概率
- Kali Linux安装Vmware tools、共享文件夹遇到的问题及解决办法(未解决问题)
- 练习场acm 题目113 字符串替换
- JavaWeb的两种开发模式
- 洛谷1855 榨取kkksc03(二维背包)
- 实验五:RIP动态路由的配置
- 相同生日
- 微信公众号支付开发流程总结
- 组个最小数
- sql分配权限及创建表操作
- position属性详解
- strtok()函数
- jsp技术:day4--JSTL
- 基于数组的棋盘小游戏实现
- PyQt5教程-08-布局管理