CF63A 题解

一. 题目分析:

首先,看到题目,我们就知道,一共有n个人,有四个等级,分别是:

  1. 老鼠(rat)
  2. 妇女(woman)和儿童(child)
  3. 男人(man)
  4. 船长(captain)

二. 题目难度:

  • 个人认为在 普及- 难度左右

当船沉时,需要按照这四个等级依次下船,如果等级相同,则按照序号,小的先下船。

三. 做法分析:

因为每个人的姓名和身份输入时,就是按顺序的,所以我们可以不用特意用sort来给他们排序,也不用结构体,就用字符串数组记录每个人的姓名和身份就可以了。

第一阶段:

输入每个人的姓名和身份后,就要思考如何去模拟,因为我们知道有分四个等级,先是老鼠(rat)又因为输入时就是按照序号顺序排列的,我们就可以先不管序号,直接从 1 1 1 一直搜到 n n n 如果是 r a t rat rat 就直接输出他的名字。

代码:


for(i=1;i<=n;++i){ // 从 1 一直搜到 nif(b[i]=="rat") //判断是否是 ratcout<<a[i]<<endl;  //是的话直接输出}

第二阶段:

继续从 1 1 1 一直搜到 n n n 如果有妇女(woman)或小孩(child),就像第一阶段一样直接输出。

代码:

for(i=1;i<=n;++i){if(b[i]=="woman"||b[i]=="child") //判断是否是妇女或小孩cout<<a[i]<<endl;
}

第三四阶段:

通过上面的分析,我们也很容易得出第三四阶段的代码,如下:

for(i=1;i<=n;++i){if(b[i]=="man") //判断是否是男人cout<<a[i]<<endl;
}
for(i=1;i<=n;++i){if(b[i]=="captain") //判断是否是船长cout<<a[i]<<endl;
}

我们已经知道了各个阶段该怎么写了,只要把上面的代码合起来,就可以AC这道题了,具体如下:

#include<iostream>
#include<cstdio>
#include<cmath>
#include<map>
using namespace std;
string a[102],b[102];
int i;
int main(){int n;scanf("%d",&n);for(i=1;i<=n;++i){cin>>a[i]>>b[i];}for(i=1;i<=n;++i){ // 从 1 一直搜到 nif(b[i]=="rat") //判断是否是 ratcout<<a[i]<<endl; //是的话直接输出}for(i=1;i<=n;++i){if(b[i]=="woman"||b[i]=="child") //判断是否是妇女或小孩cout<<a[i]<<endl;}for(i=1;i<=n;++i){if(b[i]=="man") //判断是否是男人cout<<a[i]<<endl;}for(i=1;i<=n;++i){if(b[i]=="captain") //判断是否是船长cout<<a[i]<<endl;}
}
}

希望本题解可以给大家一点帮助,也感谢管理员在百忙之中为我审核,谢谢。

洛谷 CF63A 题解相关推荐

  1. 洛谷p1598题解记录

    洛谷p1598题解记录 对这道题来说,输入几行数据其实无所谓,判定时是按照是否输入EOF来决定输入是否结束的. 代码 #include <stdio.h>char numberCount[ ...

  2. 洛谷CF982B 题解

    谢谢管理员大大给过 优先队列速通大法 hello!我又来水体了,不过嘛,相对来说这道题普及-不算水. 那我们就来研究研究吧. 先看题目 题目传送门 F1:0分暴力 一开始我也是闲的没事想要弄一下暴力做 ...

  3. P3387 【模板】缩点 洛谷 java题解 连通图+拓扑排序

    传送门: P3387 [模板]缩点 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)https://www.luogu.com.cn/problem/P3387 问题分析 首先为了节省 ...

  4. 洛谷P1001题解--zhengjun

    题目描述 输入两个整数 a,ba,ba,b,输出它们的和(∣a∣,∣b∣≤109|a|,|b |\le 10^9∣a∣,∣b∣≤109). 注意 PascalPascalPascal 使用intege ...

  5. 洛谷P1914题解——(本地测试AC但是交题爆零全WA)使用getchar();

    本题最大的坑在于: windows环境下的换行符为\r\n,linux环境的换行符为\n. 我们再来看看洛谷的部分OJ判题机数据和机制 常见"我在本地/xxOJ AC了.洛谷却不过" ...

  6. 洛谷 [樱花] 题解

    [樱花]题解 题目背景 又到了一年樱花盛开的时节.Vani 和妹子一起去看樱花的时候,找到了一棵大大的樱花树,上面开满了粉红色的樱花.Vani 粗略估计了一下,一共有足足 n!n! 片花瓣. Vani ...

  7. 洛谷P1425python题解

    #P1425 ##题解 s = input().split() a = int(s[0]) b = int(s[1]) c = int(s[2]) d = int(s[3])#total_time = ...

  8. 邮票面值设计java,[洛谷P1021][题解]邮票面值设计

    0.序 偶然被老师强迫刷到了这样一道题,正好亿年没写题解了,来此练练手+摸鱼. 1.概述 基本思路:DFS暴力枚举+DP验证. 先DFS出来一个序列,然后DP出所有面值用到的最少邮票数. 设\(f[i ...

  9. 洛谷P1014题解 [NOIP1999 普及组] Cantor 表

    原文地址:https://luvletter.blog.luogu.org/p1014-ti-jie P1014 [NOIP1999 普及组] Cantor 表 题目描述 现代数学的著名证明之一是 G ...

最新文章

  1. 手机扫一扫就能“隔空移物”?AR炫酷新玩法,快来解锁新技能吧!
  2. javascript扩展插件alook_使用 Kotlin 编写你的第一个 Firefox WebExtension 扩展
  3. 文本分类有哪些论文中很少提及却对性能有重要影响的tricks?
  4. PHP面向对象中new self( )和 new static( ) 的区别
  5. silverlight中DataGrid错误:data未定义
  6. WORD如何自动给标题添加编号?
  7. Eclipse中activiti插件的安装
  8. np.array 的shape (2,)与(2,1)的分别是什么意思
  9. IDEA启动项目报错:非法字符: ‘\ufeff‘
  10. TYVJ 4354 多重背包二进制优化
  11. QT 的信号与槽机制介绍(转载)
  12. 深度学习(四):高级卷积神经网络
  13. 苹果CMSv10首涂第四套自适应视频站正版原创挖片网高级DIY模板
  14. 操作系统【时间片轮转调度算法 课本例题】
  15. 微信小程序中相机api_微信拍照翻译, 使用小程序拍照翻译API功能
  16. C#使用爬虫爬取某网站视频
  17. 电子计算机的发展世代
  18. mysql chunk_【MySQL参数】-innodb_buffer_pool_chunk_size
  19. 万字干货 | 用游戏高手的用户洞察法,如何复制一个拼多多
  20. 使用 openssl 创建自签发证书,含 IP证书 及 泛域名证书

热门文章

  1. iText学习(三)
  2. mysql服务哪里启动_mysql服务怎么启动和关闭?
  3. HBASE服务器启动与关闭
  4. symfony入门学习资料之九:YAML格式介绍
  5. 为拿下算法 “奥斯卡”,阿里团队设计了一个冠军方案
  6. C++ 反射机制(实例讲解)
  7. java计算机毕业设计江西婺源旅游文化推广系统源码+mysql数据库+系统+lw文档+部署
  8. 超详细:实现过程-Linux 环境下的简易聊天室,采用CS模型,实现多客户端之间的稳定数据传输。--注册和登录(但之后会连续更新内容,直至全部实现)
  9. 字符串赋值的几种办法分类及常见错误总结
  10. javascript合并两个数组