舞伴问题(1027)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了舞伴问题(1027)相关的知识,希望对你有一定的参考价值。

描述

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

input

输入一共5行, 
第一行是男生人数m; 
第二行依次是男生的姓名; 
第三行是女士的人数n; 
第四行依次是女士的姓名; 
第五行是跳舞的轮数。

output

配对的男士和女士的姓名。

样例输入

5
A B C D E
3
F G H
2


样例输出

B G

 

很多人开始不理解这道题是什么意思,其实这道题表达的意思非常简单,就拿样例来说,跳舞配对的方式应该是AF,BG,CH然后女士轮完了开始下一轮DF,EG。。以此类推。

 

具体代码如下

 

#include<iostream>

using std::cin;
using std::cout;
using std::endl;
 
struct people{
    int head;
    int lenth;
    char memb[100];
}boy,girl;
int main(){
    boy.head=1;
    girl.head=1;
    int i;
    cin>>boy.lenth;
    for(i=1;i<=boy.lenth;i++){
        cin>>boy.memb[i];
    }
        cin>>girl.lenth;
    for(i=1;i<=girl.lenth;i++){
        cin>>girl.memb[i];
    }
    int time;
    cin>>time;
    for(i=0;i<time-1;i++){
        boy.head++;
        girl.head++;
        if(boy.head>boy.lenth){
            boy.head=1;
        }
            if(girl.head>girl.lenth){
            girl.head=1;
        }
    }
    cout<<boy.memb[boy.head]<<" "<<girl.memb[girl.head];
    return 0;
}

以上是关于舞伴问题(1027)的主要内容,如果未能解决你的问题,请参考以下文章

数据结构与算法JavaScript描述——使用队列

1027代码审计平台 2-sonarscanner项目变更

1332:例2-1周末舞会

1027代码审计平台 4-安卓项目

1027代码审计平台 3 Java maven

BZOJ4819 新生舞会