B - Sinking Ship

木槿槿槿 2019-08-21 09:45:08
The ship crashed into a reef and is sinking. Now the entire crew must be evacuated. All n crew members have already lined up in a row (for convenience let's label them all from left to right with positive integers from 1 to n) and await further instructions. However, one should evacuate the crew properly, in a strict order. Specifically: The first crew members to leave the ship are rats. Then women and children (both groups have the same priority) leave the ship. After that all men are evacuated from the ship. The captain leaves the sinking ship last. If we cannot determine exactly who should leave the ship first for any two members of the crew by the rules from the previous paragraph, then the one who stands to the left in the line leaves the ship first (or in other words, the one whose number in the line is less). For each crew member we know his status as a crew member, and also his name. All crew members have different names. Determine the order in which to evacuate the crew. Input The first line contains an integer n, which is the number of people in the crew (1 ≤ n ≤ 100). Then follow n lines. The i-th of those lines contains two words — the name of the crew member who is i-th in line, and his status on the ship. The words are separated by exactly one space. There are no other spaces in the line. The names consist of Latin letters, the first letter is uppercase, the rest are lowercase. The length of any name is from 1 to 10 characters. The status can have the following values: rat for a rat, woman for a woman, child for a child, man for a man, captain for the captain. The crew contains exactly one captain. Output Print n lines. The i-th of them should contain the name of the crew member who must be the i-th one to leave the ship. Examples Input 6 Jack captain Alice woman Charlie man Teddy rat Bob child Julia woman Output Teddy Alice Bob Julia Charlie Jack 题意是代表rat的先输出,woman和child其次,man再次,captain最后输出(按输入的先后顺序输出)。 纪念一下因为因为数组字符串开小而出错。字符串来到整好是不可以的,至少要多一个才行。 #include"stdio.h" #include"string.h" #include"math.h" #include"stdlib.h" #include"iostream" #include"algorithm" #include"cstring" using namespace std; int main() { int n; while(~scanf("%d",&n)) { char s1[105][15],s2[105][15],s3[105][15],s4[105][15]; int p1=0,p2=0,p3=0,p4=0; for(int i=0;i<n;i++) { char a[15],b[15]; scanf("%s %s",a,b); if(strcmp(b,"rat")==0) { strcpy(s1[p1],a); p1++; } else if(strcmp(b,"woman")==0||strcmp(b,"child")==0) { strcpy(s2[p2],a); p2++; } else if(strcmp(b,"man")==0) { strcpy(s3[p3],a); p3++; } else if(strcmp(b,"captain")==0) { strcpy(s4[p4],a); p4++; } } for(int i=0;i<p1;i++) { printf("%s\n",s1[i]); } for(int i=0;i<p2;i++) { printf("%s\n",s2[i]); } for(int i=0;i<p3;i++) { printf("%s\n",s3[i]); } for(int i=0;i<p4;i++) { printf("%s\n",s4[i]); } } return 0; }
...全文
37 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
木槿槿槿 2019-08-29
  • 打赏
  • 举报
回复
谢谢 对这个软件还没有熟悉 还不懂这些 有问题欢迎指出 毕竟我只是小白
Italink 2019-08-21
  • 打赏
  • 举报
回复
你应该是想写在博客吧,不然放在论坛没人看的,论坛用来讨论问题的

15,440

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 非技术区
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧