稳定伴侣问题.doc
上传人:yy****24 上传时间:2024-09-10 格式:DOC 页数:3 大小:27KB 金币:16 举报 版权申诉
预览加载中,请您耐心等待几秒...

稳定伴侣问题.doc

稳定伴侣问题.doc

预览

在线预览结束,喜欢就下载吧,查找使用更方便

16 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

#include<stdio.h>#defineN4//N值为男生人数或女生人数(可任意修改)voidmain(){inta[N][N],b[N][N],c[N][2];inti,j,k,t,n;intflg=0;for(i=0;i<N;i++)//男生数据赋值{printf("输入第%d个男生的数据\n",i+1);for(j=0;j<N;j++){scanf("%d",&a[i][j]);}}for(i=0;i<N;i++)//女生数据赋值{printf("输入第%d个女生的数据\n",i+1);for(j=0;j<N;j++){scanf("%d",&b[i][j]);}}printf("\n");for(i=0;i<N;i++)//男生输出{printf("男孩%d:",i+1);for(j=0;j<N;j++){printf("%d",a[i][j]);}printf("\n");}for(i=0;i<N;i++)//女生输出{printf("女孩%d:",i+1);for(j=0;j<N;j++){printf("%d",b[i][j]);}printf("\n");}for(i=0;i<N;i++)//男女分组初始化{c[i][0]=i;c[i][1]=0;}while(flg!=1)//相同被喜欢人判断{for(i=0;i<N;i++){if(c[i][1]==0){for(k=0;k<N;k++){if(a[i][k]!=0){c[i][1]=a[i][k];a[i][k]=0;break;}}}}for(i=0;i<N;i++){for(j=i+1;j<N;j++){if(c[i][1]==0)break;if(c[j][1]==0)continue;if(c[i][1]==c[j][1]){for(t=0;t<N;t++){if(b[c[i][1]-1][t]==i+1){c[j][1]=0;break;}elseif(b[c[i][1]-1][t]==j+1){c[i][1]=0;break;}}}}}for(i=0;i<N;i++){if(c[i][1]==0)break;}if(i==N)flg=1;}printf("男孩:");//判断结果输出for(i=0;i<N;i++){printf("%d",i+1);}printf("\n");printf("女孩:");for(i=0;i<N;i++){printf("%d",c[i][1]);}printf("\n");}