当前位置:首页 > 题解目录 > 正文内容

【题解】周末舞会

亿万年的星光4年前 (2021-11-20)题解目录6587

【题目描述】

假设在周末舞会上,男士们和女士们进入舞厅时,各自排成一队。跳舞开始时,依次从男队和女队的队头上各出一人配成舞伴。规定每个舞曲能有一对跳舞者。若两队初始人数不相同,则较长的那一队中未配对者等待下一轮舞曲。现要求写一个程序,模拟上述舞伴配对问题。

【输入描述】

第一行两队的人数。

第二行舞曲是数目。

【输出描述】

配对情况。

【样例输入】

4 6
7

【样例输出】

1 1
2 2
3 3
4 4
1 5
2 6
3 1

【题目分析】



【参考答案】

#include<bits/stdc++.h>
using namespace std;
const int N=101;
int a[N],b[N];
int main()
{
    int m,n;
    cin>>m>>n;
    for(int i=1;i<=m;i++)
        a[i]=i;
    for(int i=1;i<=n;i++)
        b[i]=i;
 
    int k,k1=1;
    int r1=m,r2=n;
    int f1=1,f2=1;
 
    cin>>k;
    while(k1<=k)
    {
        cout<<a[f1]<<" "<<b[f2]<<endl;
 
        r1++;
        r2++;
 
        a[r1]=a[f1];
        b[r2]=b[f2];
 
        f1++;
        f2++;
 
        k1++;
    }
    return 0;
}


如果使用队列

#include <iostream>
#include <queue>
using namespace std;

int main() {
    int m, n, k;
    cin >> m >> n >> k;

    queue<int> male, female;

    // 初始化男队和女队
    for (int i = 1; i <= m; i++) {
        male.push(i);
    }
    for (int i = 1; i <= n; i++) {
        female.push(i);
    }

    // 模拟 k 首舞曲
    for (int i = 0; i < k; i++) {
        int man = male.front();
        int woman = female.front();
        male.pop();
        female.pop();

        // 输出配对
        cout << man << " " << woman << endl;

        // 重新排到队尾
        male.push(man);
        female.push(woman);
    }

    return 0;
}


    扫描二维码推送至手机访问。

    版权声明:本文由青少年编程知识记录发布,如需转载请注明出处。

    分享给朋友:

    相关文章

    【题解】区间数位个数

    2.区间数位个数(digit.cpp)【描述】给定整数n和整数k,求出1~n中所有数的每一位数字中,出现数字k的次数。【输入】第一行是两个个整数n和k【输出】一个整数表示答案。【样例输入输出】ligh...

    【题解】阶乘问题

    2.阶乘问题(fac.cpp)【题目描述】给定一个正整数n,求出一个最小的整数m并使得m!的末尾连续的0的个数小于n。m!=1*2*3*4*...*m【输入描述】第一行n。【输出描述】一个整数m。【样...

    【题解】最大数问题

    【题目描述】输入若干个整数。输出其中的最大数【输入描述】若干个整数。【输出描述】其中的最大数。【样例输入】1 2 5 7 8 6 1&nbs...

    【题解】数学游戏

    【题目描述】Kri 喜欢玩数字游戏。 一天,他在草稿纸上写下了t 对正整数(x,y) ,并对于每一对正整数计算出了z=x*y*gcd(x,y);可是调皮的 Zay 找到了 Kri 的草稿纸,并把每一...

    进制转换(1)

    【题目描述】毛毛是个健忘的孩子,编程课上老师刚讲过进制转换的问题,她又忘了。请你帮他编写一个程序,完成一个浮点数与二进制之间的相互转换【输入描述】两个数字,第一个数字表示要转换的数字,浮点型。第二个是...

    【题解】登山

    【题解】登山

    【题目描述】五一到了,ACM队组织大家去登山观光,队员们发现山上一共有N个景点,并且决定按照顺序来浏览这些景点,即每次所浏览景点的编号都要大于前一个浏览景点的编号。同时队员们还有另一个登山习惯,就是不...