CF63A 题解
一. 题目分析:
首先,看到题目,我们就知道,一共有n个人,有四个等级,分别是:
- 老鼠(rat)
- 妇女(woman)和儿童(child)
- 男人(man)
- 船长(captain)
二. 题目难度:
- 个人认为在 普及- 难度左右
当船沉时,需要按照这四个等级依次下船,如果等级相同,则按照序号,小的先下船。
三. 做法分析:
因为每个人的姓名和身份输入时,就是按顺序的,所以我们可以不用特意用sort来给他们排序,也不用结构体,就用字符串数组记录每个人的姓名和身份就可以了。
第一阶段:
输入每个人的姓名和身份后,就要思考如何去模拟,因为我们知道有分四个等级,先是老鼠(rat)又因为输入时就是按照序号顺序排列的,我们就可以先不管序号,直接从 1 1 1 一直搜到 n n n 如果是 r a t rat rat 就直接输出他的名字。
代码:
for(i=1;i<=n;++i){
// 从 1 一直搜到 n
if(b[i]=="rat") //判断是否是 rat
cout<<