sdut——下沉的船

2024-06-09 05:18
文章标签 sdut 下沉

本文主要是介绍sdut——下沉的船,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

题目描述

身份优先级: woman = child > man > captain.

多组数据(少于组),每一组有一个整数,代表船上有个人,接下来行,每行有一个名字和他的身份。名字字符长度小于。数据保证不存在重名,注意可能存在多名船长

输出

输出n行,每一行输出一个名字,先上船的名字在前面。

示例输入

6
Jack captain
Alice woman
Charlie man
Teddy woman
Bob child
Julia woman

示例输出

Alice
Teddy
Bob
Julia
Charlie
Jack

#include <iostream>
#include <cstring>
#include <algorithm>
using namespace std;
struct node
{char name[16];char job[15];int rank;int idx;
}a[105];
int cmp(node a,node b)
{if(a.rank==b.rank)return a.idx<b.idx;return a.rank<b.rank;
}
int main()
{int n;while(cin>>n){for(int i=0;i<n;i++){cin>>a[i].name>>a[i].job;a[i].idx=i;if(strcmp(a[i].job,"woman")==0)a[i].rank=1;else if(strcmp(a[i].job,"child")==0)a[i].rank=1;else if(strcmp(a[i].job,"man")==0)a[i].rank=2;else if(strcmp(a[i].job,"captain")==0)a[i].rank=3;}sort(a,a+n,cmp);for(int i=0;i<n;i++)cout<<a[i].name<<endl;}return 0;
}


这篇关于sdut——下沉的船的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1044309

相关文章

SDUT OJ 2798小鑫的城堡 并查集

题目描述 从前有一个国王,他叫小鑫。有一天,他想建一座城堡,于是,设计师给他设计了好多简易图纸,主要是房间的连通的图纸。小鑫希望任意两个房间有且仅有一条路径可以相通。小鑫现在把设计图给你,让你帮忙判断设计图是否符合他的想法。比如下面的例子,第一个是符合条件的,但是,第二个不符合,因为从5到4有两条路径(5-3-4和5-6-4)。 输入 多组输入,每组第一行包含一个整数m(m

sdut 1225 编辑距离(dp)

题目描述 假设字符串的基本操作仅为:删除一个字符、插入一个字符和将一个字符修改成另一个字符这三种操作。  我们把进行了一次上述三种操作的任意一种操作称为进行了一步字符基本操作。 下面我们定义两个字符串的编辑距离:对于两个字符串a和b,通过上述的基本操作,我们可以把a变成b或b变成a,那么字符串a变成字符串b需要的最少基本字符操作步数称为字符串a和字符串b的编辑距离。 例如:a="AB

hdu 1429胜利大逃亡(续) / sdut 2193 救基友记3(BFS)

http://acm.hdu.edu.cn/showproblem.php?pid=1429 做了热身赛http://blog.csdn.net/u013081425/article/details/21740001 之后发现这道题好水,之前怎么没刷到呢。。 同样标记数组增加一维,标记到某一点时他拥有钥匙的状态,因为有10种钥匙,所以mark[][][1<<10+10]来标记每到一点的状态。

SDUT OJ 2892——字典树

A Time Limit: 60ms   Memory limit: 65536K  有疑问?点这里^_^ 题目描述 给出n(1<= n && n <= 2*10^6)个字符串,每个字符串只包含小写英文字母,且最多有五个。问这n个字符串中出现次数最多的有多少个。 输入 单组输入。第一行输入一个数字n,接下来n行,每行包含一个字符串。 输出

校赛 SDUT OJ2860生日Party(BFS)

题目地址:http://acm.sdut.edu.cn/sdutoj/problem.php?action=showproblem&problemid=2860 唉。。校赛的时候把这题用搜索的时间复杂度2^15次方想成了15^15次方。。。。所以没写。。。后来用的最短路的floyd算法改成了最长路做的,但有一些细节不好处理,调了会没调出来。。赛后才想到用暴搜不会超时。。于是补完线代后怒敲暴搜代码

SDUT 3061 聪明的玛雅 (状压DP)

题目地址:SDUT 3061 这题的比赛的时候的后台数据是错的。。。好坑啊。。。。就不吐槽出题人了。。 比赛的时候我的思路是错的,漏考虑了一种情况。应该把所有状态下的最短距离都要求出来,而我当时的思路是按照前面能选两个则选两个的贪心思路来状压,但是有的时候可以最多走奇数个并且没全走完,这种情况下就不对了。 正确思路是每次找两个没走过的状态,分成选一个和选两个两种情况来DP。然后最后找所有状态

SDUT OJ 3045 迷之图论 (树的直径)

题目地址:SDUT OJ 3045 这题比赛的时候想的差不多。。但是总是觉得不对。。写了一次就没再写,然后删了。。当时没想到的是第二次求出来的就是最长链。。当时想到的两次bfs找最大值(这一种方法其实结果也对。。TAT。。),还有找到点后在回溯减去重点等等。。但总觉得好像都不太对。。。赛后才知道这题原来是树的直径。。。。。牡丹江区域现场赛的时候遇到过,不过赛后也没看。。。 找树的直径的方法其实

【报告分享】2020下沉市场新消费研究报告-亿邦动力研究院京喜 (附下载)

摘要: 来源:亿邦动力研究院&京喜 如需查看完整报告和报告下载或了解更多,关注微信公众号:行业报告智库

递推8-----7-8 sdut-C语言实验-王小二切饼0)

7-8 sdut-C语言实验-王小二切饼 分数 20 全屏浏览 切换布局 作者 马新娟 单位 山东理工大学 王小二自夸刀工不错,有人放一张大的煎饼在砧板上,问他:“饼不许离开砧板,切n(1<=n<=100)刀最多能分成多少块?” 输入格式: 输入切的刀数n。 输出格式: 输出为切n刀最多切的饼的块数。 输入样例: 在这里给出一组输入。例如: 100 输出样例:

sdut——魔幻数字47

题目描述 数字47一向被数学界的人认为是很魔幻的一个数字,和47有关的任务被认为是魔幻任务。现在有一个简单的魔幻任务,给定a和b,打印所有在 以a,b为端点的闭区间 中最后两位为47的整数,你能一次AC吗?? 输入 第一行为一个整数n,表示有多少组测试数据。(n <= 100) 第2-n+1行,每行两个整数,分别代表a,b。(a,b <= 10000) 输出 对于每组