#include <stdio.h>
#include <conio.h>
/*
三对新婚夫妇参加婚礼,三个新郞为A、B、C,三个新娘为X、Y、Z。有人不知道谁和谁结婚,于是询问了六位新人中的三位,但听到的回答是这样的:A说他将和X结婚;X说她的未婚夫是C;C说他将和Z结婚。这人听后知道他们在开玩笑,全是假话。请编程找出谁将和谁结婚。
题目分析:
如果“乱点鸳鸯谱”的话,三个新郎A、B、C和三个新娘X、Y、Z共有6种配对组合方式。这是因为不能出现两个新郎(新娘)和一个新娘(新郎)结婚的状况,所以只可能有3*2*1=6种配对方案。因此只要穷举出这6种配对方案,再应用问题中给出的约束条件就可以筛选出正确的答案来。
*/
main(){
//分别表示a,b,c的结婚对象
char i,j,k;
for(i='x';i<='z';i++){
for(j='x';j<='z';j++){
for(k='x';k<='z';k++){
//男人和男人不结婚
if(i!=j&&i!=k&&j!=k){
if(i!='x'&&k!='x'&&k!='z'){
printf("a和%c结婚,b和%c结婚,c和%c结婚。",i,j,k);
}
}
}
}
}
}
59-新郎和新娘问题
最新推荐文章于 2023-01-09 09:35:30 发布