婚礼上的谎言

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

原文地址:https://www.cnblogs.com/breathee/p/9363896.html