1332:【例2-1】週末舞會

【題目描述】

假設在週末舞會上,男士們和女士們進入舞廳時,各自排成一隊。跳舞開始時,依次從男隊和女隊的隊頭上各出一人配成舞伴。規定每一個舞曲能有一對跳舞者。若兩隊初始人數不相同,則較長的那一隊中未配對者等待下一輪舞曲。現要求寫一個程序,模擬上述舞伴配對問題。c++

【輸入】

第一行兩隊的人數;spa

第二行舞曲的數目。code

 

【輸出】

配對狀況。blog

【輸入樣例】

4 6
7

【輸出樣例】

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





衆所周知:這個題是白書上最基礎的隊列模擬題;
關鍵在於掌握隊頭,隊尾就好了;

代碼以下

#include<bits/stdc++.h>
using namespace std; int man[10000],girl[10000],t1=1,t2=1,w1,w2,k1,k,m,w; int main() { cin>>m>>w>>k; for(int i=1;i<=m;i++) man[i]=i; for(int i=1;i<=w;i++) girl[i]=i; w1=m;w2=w; while(k1<k)//k1是當前一輪,k是總曲目 
 { printf("%d %d\n",man[t1],girl[t2]);//輸出隊頭兩個元素 
        w1++;man[w1]=man[t1];t1++;//人數可能不相等,當他們跳完以後補到隊尾,頭++,繼續下一個曲子,直到結束 
        w2++;girl[w2]=girl[t2];t2++;//這是女生隊,和男生隊一個狀況 
        k1++;//下一輪了 
 } return 0; }

o ……k!隊列

相關文章
相關標籤/搜索