3对情侣参加婚礼,3个新郎为A,B,C,3个新娘为X,Y,Z,有人想知道究竟谁与谁结婚。于是就问新人中的三位,得到如下结果:A说他将和X结婚,X说她的未婚夫是C,C说他将和Z 结婚。这人时候知道他们在开玩笑,说的全是假话。那么,究竟谁与谁结婚呢?
穷举法
#include <stdio.h>
void main()
{
int a,b,c;
for(a=1;a<=3;a++)
for(b=1;b<=3;b++)
for(c=1;c<=3;c++)
if(a!=1&&c!=1&&c!=3&&a!=b&&a!=c&&b!=c)
{
printf("%c将嫁给A
",'X'+a-1);
printf("%c将嫁给B
",'X'+b-1);
printf("%c将嫁给C
",'X'+c-1);
}
}
结果为 Z嫁给A X嫁给B Y嫁给C