pascal假设在周末舞会上,男士们和女士们进入舞厅时,各自排成一队.跳舞开始时,依次从男队和女队的队头上各

pascal语言
1、 队列的应用--舞伴问题
问题叙述
假设在周末舞会上,男士们和女士们进入舞厅时,各自排成一队。跳舞开始时,依次从男队和女队的队头上各出一人配成舞伴。若两队初始人数不相同,则较长的那一队中未配对者等待下一轮舞曲。现要求写一算法模拟上述舞伴配对问题。

【问题分析】
先入队的男士或女士亦先出队配成舞伴。因此该问题具体有典型的先进先出特性,可用队列作为算法的数据结构。
在算法中,假设男士和女士的记录存放在一个数组中作为输入,然后依次扫描该数组的各元素,并根据性别来决定是进入男队还是女队。当这两个队列构造完成之后,依次将两队当前的队头元素出队来配成舞伴,直至某队列变空为止。此时,若某队仍有等待配对者,算法输出配对的结果和此队列中等待者的人数及排在队头的等待者的名字,他(或她)将是下一轮舞曲开始时第一个可获得舞伴的人。
【样例】
输入:BAECF
21456739
输出:B2 A1 E4 C5 F6
3 {等待人数}
7 {第1位等待者的编号}

var s1,s2:string; i,j,k:integer;

begin

  readln(s1); readln(s2);

  j:=length(s1); k:=length(s2);

  if j>k then begin i:=j; j:=k; k:=i end;

  write(s1[1],s2[1]);

  for i:=2 to j do write(' ',s1[i],s2[i]);

  writeln;

  writeln(k-i);

  if length(s1)<length(s2) then writeln(s2[j+1])

    else writeln(s1[j+1]);

end.

温馨提示:内容为网友见解,仅供参考
无其他回答

pascal假设在周末舞会上,男士们和女士们进入舞厅时,各自排成一队.跳舞...
var s1,s2:string; i,j,k:integer;begin readln(s1); readln(s2);j:=length(s1); k:=length(s2);if j>k then begin i:=j; j:=k; k:=i end;write(s1[1],s2[1]);for i:=2 to j do write(' ',s1[i],s2[i]);writeln;writeln(k-i);if length(s1)<length(s2) then ...

队列的应用实例
问题叙述  假设在周末舞会上 男士们和女士们进入舞厅时 各自排成一队 跳舞开始时 依次从男队和女队的队头上各出一人配成舞伴 若两队初始人数不相同 则较长的那一队中未配对者等待下一轮舞曲 现要求写一算法模拟上述舞伴配对问题 问题分析  先入队的男士或女士亦先出队配成舞伴 因此该问题...

栈和队列在项目中的应用
假设在周末舞会上,男士们和女士们进入舞厅时,各自排成一队。跳舞开始时,依次从男队和女队的队头上各出一人配成舞伴。若两队初始人数不相同,则较长的那一队中未配对者等待下一轮舞曲。现要求写一算法模拟上述舞伴配对问题。2、问题分析 先入队的男士或女士亦先出队配成舞伴。因此该问题具体有典型...

栈和队列 - 栈和队列的应用实例 - 队列的应用实例
在算法中 假设男士和女士的记录存放在一个数组中作为输入 然后依次扫描该数组的各元素 并根据性别来决定是进入男队还 是女队 当这两个队列构造完成之后 依次将两队当前的队头元素出队来配成舞伴 直至某队列变空为止 此时 若某队仍有等待配 对者 算法输出此队列中等待者的人数及排在队头的等待者的...

...和女士们(n人, n<m)进入舞厅时,各自排成一队。
其实这两种思路都不矛盾的 各有所长 你这程序 人为设定了m,n 有局限性 也就是说可能不通用 我也试着写了些(如果题意没理解错的话)其实题2用用题1的程序就行了 你再仔细想想 看看我的问题2 include<stdio.h> include<math.h> int gac(int m,int n,int y,int t){int x,z;if((n...

...逐步演示参加舞会的男士和女士各自排队进入舞厅。
}int ml = male.size();int fl = female.size();if(ml>=fl){for(int i=0;i<fl;i++){cout<<male.front()<<" and "<<female.front()<<endl;male.pop_front();female.pop_front();}if(ml>fl)cout<<ml-fl<<" waiting male:"<<endl;for(int i=0;i<ml-fl;i++){cout<<...

Java数据结构舞伴问题
m2.setName("男士2");m2.setSex(1);Person m3 = new Person();m3.setName("男士3");m3.setSex(1);List<Person> mans = new ArrayList<Person>();mans.add(m1);mans.add(m2);mans.add(m3);Person l1 = new Person();m1.setName("女士1");m1.setSex(2);Person l2 = new ...

饥饿时以及身体负重时讲话声音都变了,好像气的力度跟不上来,讲话时间稍...
十月手里拿着几张票说道:“那么,女士们,请你们用最快的速度打扮,舞会马上就要开始了” 九月眯着眼睛乐呵呵地接过十月的话:“你们这群雄性生物也该去准备你们的礼服了吧!” 四月捂着嘴笑着走到九月身旁,挽着九月的手开口道:“九月姐姐,我们快去准备吧!不然就真的来不急了” “看吧,还是四月乖”十月称...

相似回答