算法【婚禮上的謊言】

Q:在這裏插入圖片描述
A:

所有人說的都是謊話,所以3個條件 就是
a != 0 && 0 != c && c != 2 (用 a=0 表示新郎a和x結婚,同理不結婚則表示a!=0)
同時隱含條件就是3個新郎不能互爲配偶(也就是說兩個新娘不可嫁給一個人)
所以a!=b && a!=c && b!=c

#include<iostream>

using namespace std;

int main() {
    //groom
    int a, b, c;
    //bride 0 1 2
    char X = 'X';
    for (a = 0;  a<3 ; a++) {
        for (b = 0;  b<3 ; b++) {
            for (c = 0;  c<3 ; c++) {
                //a is not married to X, X is not married to c, c is not married to Z
                if(a != 0 && 0 != c && c != 2 && a!=b && a!=c && b!=c){
                    cout<<"A married "<<(char)(X+a)<<endl;
                    cout<<"B married "<<(char)(X+b)<<endl;
                    cout<<"C married "<<(char)(X+c)<<endl;
                }
            }
        }
    }
    return 0;
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章