舞会(DS线性结构)

题目
问题 B: 舞会(DS线性结构)
时间限制: 1 Sec  内存限制: 128 MB
提交: 7  解决: 6
[提交][状态][讨论版]
题目描述
假设在周末舞会上,男士和女士们分别进入舞厅,各自排成一队。跳舞开始,依次从男队和女队队头各出一人配成舞伴,若两队初始人数不同,则较长那一队未配对者等待下一轮舞曲。现要求写一算法模拟上述舞伴配对问题。 你需要用队列操作实现上述算法

输入
先输入参加舞会人数,再分别输入参加舞会人的姓名和性别

输出
先输出配对的男女舞伴,若队伍有剩人,则输出剩下人性别及剩下人数目。

样例输入
61 F
林1 F
王2 M
李1 F
薛2 M
翁1 F
样例输出
张1212
F:2
代码块
#include <iostream>
#include <queue>
using namespace std;

int main(void)
{
    int i, n;
    cin>>n;
    char ch;
    string temp;
    queue<string> f, m;
    for(i=0; i<n; i++)
    {
        cin>>temp>>ch;
        if(ch=='F')
            f.push(temp);
        else
            m.push(temp);
    }
    string temp1, temp2;
    while(!f.empty() && !m.empty())
    {
        temp1 = f.front();
        temp2 = m.front();
        f.pop();
        m.pop();
        cout<<temp1<<' '<<temp2<<endl;
    }
    if(!f.empty())
        cout<<"F:"<<f.size()<<endl;
    if(!m.empty())
        cout<<"M:"<<m.size()<<endl;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值