甲乙丙丁戊五个人相约去爬山

甲乙丙丁戊五个朋友一起相约去爬山,根据下列条件判断都哪些人会去爬山了:
(1)乙对甲有意思,甲如果去爬山,乙一定也去;
(2)乙跟丙有过节,乙丙有且只有一个人去爬山了;
(3)丙丁要么一起爬,要么都没爬;
(4)丁戊至少有一个人去了;
(5)甲和丁是戊的粉丝,如果戊去爬山,那么甲和丁也都参加。
编程输出都谁去爬了山。

五个人要么去,要么不去,穷举,然后根据5个条件的满足情况过滤

#include <stdio.h>
int main()
{
    for(int a=0;a<=1;a++)
        for(int b=0;b<=1;b++)
            for(int c=0;c<=1;c++)
                for(int d=0;d<=1;d++)
                    for(int e=0;e<=1;e++)
                    {
                        if(a==1)
                        {
                            if(b!=1)
                                continue;
                        }
                        if((b==1 && c==1) || (b==0 && c==0))
                            continue;
                        if((c==0 && d==1) || (c==1 && d==0))
                            continue;
                        if(d==0 && e==0)
                            continue;
                        if(e==1)
                        {
                            if(a==0 || b==0)
                                continue;
                        }
                        printf("%d %d %d %d %d\n",a,b,c,d,e);
                    }
    return 0;
}