a.在周末舞会上,男士们(m人)和女士们(n人, n<m)进入舞厅时,各自排成一队。跳舞开始时,依次从男队和女队的队头上各出一人配成舞伴。若两队初始人数不相同,则较长的那一队中未配对者等待下一轮舞曲。现要求写一算法模拟上述舞伴配对问题。(1)在第t首曲子时,第x个女生和第几个男生配对跳舞?
b.在什么条件下,上述题目中第x个(1<=x<=m)男生才有可能和他心仪的第y个(1<=x<=n)女生跳舞,在第几首曲子时?
问题b我虽然已经用代码解决,但是对于“什么条件下”舞伴可以搭配成功。。。这个条件是什么 我真心不懂。。。我不是问这个题怎么操作的 我主要问这个条件是什么
下面是我 的代码 应该没问题 有问题也可以指出来 谢谢各位了
****************************************************************************
#include<stdio.h>
#define M 10
#define N 7
int gcd(int x,int y)
{
int z,temp;
if(x<y) {temp=x;x=y;y=temp;}
if((z=x%y)==0) return y;
else gcd(y,z);
}
void main()
{
int m=1,n=1,t,T,x,y;
printf("请输入需要搭配的舞伴男女编号,先输入男生的,再输入女生的\n");
scanf("%d%d",&x,&y);
T=M/gcd(M,N); //求出可以播放曲子的最大次数(不重复的情况下)
for(t=1;t<=T;t++)
{
if((m+y-1)==x) break; //m+y-1将女生编号配对到男生编号
m=m+N;
n=n+N;
while(m>M) m=m-M;
while(n>N) n=n-N;
}
if(t>T) printf("没有找到配对的\n");
else printf("%d男生找到%d女生,在第%d首曲子\n",x,y,t);
}
如何用c语言解决舞伴问题
结构数组dancer中存放跳舞的男女,num是跳舞的人数。\/\/男士队列初始化\/\/女士队列初始化\/\/依次将跳舞者依其性别入队\/\/依次输入男女舞伴名\/\/输出女士剩余人数及队头女士的名字\/\/输出男队剩余人数及队头者名字 include<stdio.h>\/\/舞伴配对问题(用循环队列实现)\/\/ define queuesize 100 typedef struct \/...
c语言关于舞会跳舞问题,在周末舞会上,男士们(m人)和女士们(n人, n<...
int x2,y2,t2,a2;printf("问题1\\n请输入男女生的人数,以逗号隔开\\n");scanf("%d,%d",&m,&n);printf("请输入此时跳舞的女生号数\\n");scanf("%d",&y);printf("请输入此时的曲数\\n");scanf("%d",&t);a=gac(m,n,y,t);printf("此时%d号女生的搭档是%d号男生\\n",y,a);pri...
求数据结构C++舞伴配对问题程序代码
="男"&&person.sex!="女") \/\/判断输入性别是否符合要求{cout<<"输入的舞者性别不正确,请重新输入";continue;}else if(person.hour<0||person.hour>23||person.minute<0||person.minute>59||person.second<0||person.second>59){cout<<"输入的舞者到场时间不正确,请重新输入";continue;}el...
用c语言编写舞伴配对程序,急求,快的可以加分
下载文件:舞会.rar|程序写了一个,你看看是不是能满足你要求,满意请采纳!!下面是程序运行的结果:下面是文本文件的内容: