博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【洛谷P1104】生日
阅读量:7036 次
发布时间:2019-06-28

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

题目描述

cjf君想调查学校OI组每个同学的生日,并按照从大到小的顺序排序。但cjf君最近作业很多,没有时间,所以请你帮她排序。

输入输出格式

输入格式:

有2行,第1行为OI组总人数n;第2行至第n+1行分别是每人的姓名s、出生年y、月m、日d。

输出格式:

有n行,即n个生日从大到小同学的姓名。(如果有两个同学生日相同,输入靠后的同学先输出)

输入输出样例

输入样例#1

3

Yangchu 1992 4 23

Qiujingya 1993 10 13

Luowen 1991 8 1

输出样例#1

Luowen

Yangchu

Qiujingya

说明

数据规模

1<n<100

length(s)<20

 

 

 算法:

排序

 

分析:

这道题讲了要我们把n个人的生日按从老到幼排个序,然后要注意一点,就是后输入(编号大的人)算更老。

这道题很水,用简单的排序就可以解决。

C++的STL这是非常好用,自己写个comp函数再套用sort就可以了。Comp函数假如三目运算符写得很晕的话直接用if就可以了。

另外,吐槽一下ccf的Guide,虽然可以编译Pascal/c/c++的程序,但是没有括号匹配,奇怪的换行,函数的搭配。今天不知道为什么作死用了一下,下次还是用Dev好。

 

上代码:

 

1 #include
2 #include
3 #include
4 #include
5 using namespace std; 6 7 int n; 8 struct node 9 {10 char s[25]; //名字11 int no,y,m,d; //编号,年,月,日12 }a[110];13 14 inline int read() //读入优化15 {16 int x=0,f=1;17 char c=getchar();18 while (c<48||c>57)19 f=c=='-'?-1:1,c=getchar();20 while (c>=48&&c<=57)21 x=(x<<1)+(x<<3)+(c^48),c=getchar();22 return x*f;23 }24 25 inline bool comp(const node &a,const node &b) //比较函数26 {27 if (a.y
b.y)30 return 0;31 if (a.m
b.m)34 return 0;35 if (a.d
b.d)38 return 0;39 return a.no>b.no; //最后判断同一天的情况40 }41 42 int main()43 {44 int i;45 n=read();46 for (i=1;i<=n;i++)47 {48 scanf("%s",a[i].s);49 a[i].y=read();50 a[i].m=read();51 a[i].d=read();52 a[i].no=i; //记录编号53 }54 sort(a+1,a+n+1,comp);55 for (i=1;i<=n;i++)56 puts(a[i].s); //puts可以直接输出内容加换行,比printf快57 return 0;58 }

 

 

嗯,就这样了。

转载于:https://www.cnblogs.com/Ronald-MOK1426/p/8444852.html

你可能感兴趣的文章
Java第四次作业
查看>>
Oracle自制事务
查看>>
for练习相关
查看>>
C语言函数的变参实用与分析
查看>>
ArcGIS中利用ArcMap将地理坐标系转换成投影坐标系(从WKID=4326到WKID=102100)
查看>>
通过单选按钮控制页面之间的切换
查看>>
Fedora下安装ORACLE 11g
查看>>
了解SSL必须要懂得密码技术
查看>>
nodejs项目进程管理器之pm2
查看>>
二十六、oracle pl/sql 分页
查看>>
很不错的前端页面
查看>>
Currency 货币 filter
查看>>
微信小程序中用户唯一ID的获取
查看>>
Tomcat6,7,8的日志切割
查看>>
mysql 启动错误-server PID file could not be found
查看>>
seleium_元素定位
查看>>
在VS2008中调用Matlab的m文件
查看>>
读Xamarin文档记录
查看>>
Mysql Commands
查看>>
[转载]关于eclipse提示:"The superclass "javax.servlet.http.HttpServlet" was not found on the
查看>>