描述
假设在周末舞会上,男士们和女士们进入舞厅时,各自排成一队。跳舞开始时,依次从男队和女队的队头上各出一人配成舞伴。若两队初始人数不相同,则较长的那一队中未配对者等待下一轮舞曲。要求编写程序实现舞伴问题。
input
输入一共5行,
第一行是男生人数m;
第二行依次是男生的姓名;
第三行是女士的人数n;
第四行依次是女士的姓名;
第五行是跳舞的轮数。
output
配对的男士和女士的姓名。
样例输入
5
A B C D E
3
F G H
2
样例输出
B G
很多人开始不理解这道题是什么意思,其实这道题表达的意思非常简单,就拿样例来说,跳舞配对的方式应该是AF,BG,CH然后女士轮完了开始下一轮DF,EG。。以此类推。
具体代码如下
1 #include<iostream> 2 using std::cin; 3 using std::cout; 4 using std::endl; 5 6 struct people{ 7 int head; 8 int lenth; 9 char memb[100]; 10 }boy,girl; 11 int main(){ 12 boy.head=1; 13 girl.head=1; 14 int i; 15 cin>>boy.lenth; 16 for(i=1;i<=boy.lenth;i++){ 17 cin>>boy.memb[i]; 18 } 19 cin>>girl.lenth; 20 for(i=1;i<=girl.lenth;i++){ 21 cin>>girl.memb[i]; 22 } 23 int time; 24 cin>>time; 25 for(i=0;i<time-1;i++){ 26 boy.head++; 27 girl.head++; 28 if(boy.head>boy.lenth){ 29 boy.head=1; 30 } 31 if(girl.head>girl.lenth){ 32 girl.head=1; 33 } 34 } 35 cout<<boy.memb[boy.head]<<" "<<girl.memb[girl.head]; 36 return 0; 37 }