ACM之舞伴问题

题目描述:

假设在某高校的周末舞会上,参加舞会的男生和女生各自排队进入舞厅,坐在舞池两边的椅子上,舞会开始时,按顺序从男生和女生中各出一人配对跳舞。如果男生和女生人数不等,则多出的学生等待下一轮舞曲开始重新配对,设计一个程序模拟舞伴配对过程。输入要求:从键盘读入男生和女生的基本信息,包括性别、姓名。输出要求:假设晚会共有n支舞曲,输出第1支舞曲中配对跳舞的男生和女生的姓名,直到男生配对结束或女生配对结束,对于等待下一支舞曲配对的男生或女生,输出等待的人数及第1个等待的男生或女生的姓名, 如果男生和女生刚好全部配对,输出没有学生等待。

 

输入样例:

样例输入1:
I
m  zhangming
f  wangxiaohong
f  liyangm  zhaoyubo
m  liuyuqim  zhengxiang
f  gongxiaoyu
m  qikai
f  shongchunhong
m  zhangdongdong
a
P
Q
样例输入2:
I
m zhangming
f wangxiaohong
m zhaoyubo
f gongxiaoyu
a
P
Q

输出样例:

样例输出1:
Boy students      Girl students
zhangming      wangxiaohong
zhaoyubo      liyang
liuyuqi      guogxiaoyu
zhengxiang      shongchunhong
2 Boy students waitting,the first one is qikai
样例输出2:
Boy students Girl students
zhangming wangxiaohong
zhaoyubo gongxiaoyu
Nobody  Waitting

输入描述:

输入各个命令,它们对应的格式如下: 输入男生女生信息:I,接下来的一行是性别和姓名, 格式为性别 姓名(用 m 表示男生,用f 表示女生),当输入的性别不是m 或f 时,输入结束,性别和姓名之间用一个空格分隔。 输出第一支舞曲的配对情况:P 当输入的命令为Q时,程序结束。

输出描述:

当输入的命令为P时,输出第一支舞曲的男生女生配对情况,最上面一行输出Boy students      Girl students(之间空6个格),下面的n行是配对的男生和女生姓名(男生和女生的姓名之间空6个格),有多少对就有多少行,接下来输出等待的男生或女生人数和排在第一位的男生或女生的姓名(例:2 Boy students waitting,the first one is zhangming  或 1 Girl students waitting, the first one is lihong), 数字与单词间空一格,单词与单词间空一格),如果男生和女生刚好全部配对,输出没有学生等待(Nobody  Waitting),两个单词之间空一格,输出的元素各占一行。

#include<iostream> #include<string> using namespace std; int main() { string female[10000],male[10000]; char c; int f=0; int m=0; int i; int j; while(cin>>c&&c!=’Q’) { if(c==’I’) { m=0; f=0; while(1) { cin>>c; if(c==’f’) cin>>female[f++]; else if(c==’m’) cin>>male[m++]; else break; } } else if(c==’P’) { cout<<“Boy students      Girl students”<<endl; if(f>m) { for(i=0,j=0;j<m;i++,j++) cout<<male[j]<<”      “<<female[i]<<endl; cout<<f-m<<” Girl students waitting,the first one is “<<female[i]<<endl; } else if(m>f) { for(i=0,j=0;i<f;i++,j++) cout<<male[j]<<”      “<<female[i]<<endl; cout<<m-f<<” Boy students waitting,the first one is “<<male[j]<<endl; } else { for(i=0,j=0;i<f;i++,j++) cout<<male[j]<<”      “<<female[i]<<endl; cout<<“Nobody Waitting”<<endl; } } } return 0; }

    原文作者:舞伴问题
    原文地址: https://blog.csdn.net/shuipingzildy/article/details/8677978
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞