破案——蛮力法

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

(1)A、B至少有一人作案;

(2)A、E、F三人中至少有两人参与作案;

(3)A、D不可能是同案犯;

(4)B、C或同时作案,或与本案无关;

(5)C、D中有且仅有一人作案;

(6)如果D没有参与作案,则E也不可能参与作案。试设计算法将作案人找出来。

#include
using namespace std;
int main()
{
    int a,b,c,d,e,f;
    for(a=0;a<=1;a++)
    {
        for(b=0;b<=1;b++)
        {
            for(c=0;c<=1;c++)
            {
                for(d=0;d<=1;d++)
                {
                    for(e=0;e<=1;e++)
                    {
                        for(f=0;f<=1;f++)
                        {
                           if(((a||b)||(a&&b))&&((a&&e&&!f)||(a&&f&&!e)||(!a&&e&&f)||(a&&e&&f))&&(!(a&&d))&&((b&&c)||(!b&&!c))&&((c&&!d)||(!c&&d))&&(!d&&!e))
                            goto out;
                        }
                    }
                }
            }
        }
    }
    out:if(a) cout<<"A ";
        if(b) cout<<"B ";
        if(c) cout<<"C ";
        if(d) cout<<"D ";
        if(e) cout<<"E ";
        if(f) cout<<"F ";
    cout<

ABCF。

 

你可能感兴趣的:(算法)