破案——蠻力法

1、某地刑偵大隊對涉及六個嫌疑人的一樁疑案進行分析:

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

(2)A、E、F三人中至少有兩人蔘與作案;

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

(4)B、C或同時作案,或與本案無關;

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

(6)如果D沒有參與作案,則E也不可能參與作案。試設計算法將作案人找出來。

#include<iostream>
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<<endl;
    return 0;
}

ABCF。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章