7.2某地刑侦大队对涉及六个嫌疑人的一桩疑案进行分析: A、B 至少有一人作案; A、E、F 三人中至少有两人参与作案; A、D 不可能是同案犯; B、C 或同时作案,或与本案无关;

7.2某地刑侦大队对涉及六个嫌疑人的一桩疑案进行分析:

A、B 至少有一人作案; A、E、F 三人中至少有两人参与作案; A、D 不可能是同案犯; B、C 或同时作案,或与本案无关; C、D 中有且仅有一人作案; 如果 D 没有参与作案,则 E 也不可能参与作案。 试编一程序,将作案人找出来。

我先申明,这一题的思路是我借鉴别人的,不是我自己弄的


#include<stdio.h>
int main()
{
    int A,B,C,D,E,F; //每个罪犯只有01两种情况,1是罪犯0清白
    for(A=0;A<2;A++)//A
    {
        for(B=0;B<2;B++) //B
        {
            for(C=0;C<2;C++) //C
            {
                for(D=0;D<2;D++) //D
                {
                    for(D=0;D<2;D++) //D
                    {
                        for(E=0;E<2;E++) //E
                        {
                            for(E=0;E<2;E++) //E
                            {
                                for(F=0;F<2;F++) //F
                                {
                                    if( (A +B > 0 ) /*AB至少一人作案*/&& (A+E+F >1) /*AEF至少两人作案*/&& (A+D == 1) /*AD不可能是同案犯*/&& (B+C != 1) /*BC或同案 或与本案无关*/&& (C+D == 1 ) /*CD只有一人作案*/&& (!(!D && E)) ) /*如果D没有参与作案,则E也不可能参与作案*/
                                    {
                                        printf("A:%s", A==1?"作案\n":"非作案\n" );
                                        printf("B:%s", B==1?"作案\n":"非作案\n" );
                                        printf("C:%s", C==1?"作案\n":"非作案\n" );
                                        printf("D:%s", D==1?"作案\n":"非作案\n" );
                                        printf("E:%s", E==1?"作案\n":"非作案\n" );
                                        printf("F:%s", F==1?"作案\n":"非作案\n" );
                                        break; //如果不止一个解,就不需要这个break
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
    return 0;
}

//输出:

A:作案
B:作案
C:作案
D:非作案
E:非作案
F:作案
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值