谁是作案嫌疑人?SDUT 离散数学

版权声明:本人原创文章若需转载请标明出处和作者!沙 https://blog.csdn.net/weixin_44143702/article/details/89109793

 谁是作案嫌疑人?

Time Limit: 1000 ms Memory Limit: 65536 KiB

Submit Statistic

Problem Description

刑侦大队对涉及六个嫌疑人的一桩疑案进行分析:
一、a ,b至少有一人作案;
二、a,e,f三人中至少有两人参与作案;
三、 a ,d不可能是同案犯;
四、b,c或同时作案,或与本案无关;
五 c,d中有且只有一人作案;
六 如果d没有参与作案则e也不可能参与作案。
试编写程序,寻找作案人。

Input

多组测试数据,对于每组测试数据,第 1 行输入 6 个空格分隔的整数,代表a、b、c 、d 、e 、f的编号,编号x范围(1 <= x <= 6),且编号互不相同。

Output

对于每组测试数据,第 1 行至第 6 行分别输出对 a、b、c 、d 、e 、f的判断,详细输出格式请参考样例。
 

Sample Input

1 2 3 4 5 6

Sample Output

The suspects numbered 1 are criminals.
The suspects numbered 2 are criminals.
The suspects numbered 3 are criminals.
The suspect numbered 4 is not a criminal.
The suspect numbered 5 is not a criminal.
The suspects numbered 6 are criminals.
#include <stdio.h>
#include <stdlib.h>
int main()
{
    int a,b,c,d,e,f;
    int A, B, C, D, E, F ;
    while (~scanf("%d%d%d%d%d%d",&a,&b,&c,&d,&e,&f))
    {
    for(A = 0 ; A <= 1 ; A +=1)
    for(B = 0 ; B <= 1 ; B +=1)
    for(C = 0 ; C <= 1 ; C+=1)
    for(D = 0 ; D <= 1 ; D+=1)
    for(E = 0 ; E <= 1 ; E+=1)
    for(F = 0 ; F <= 1 ; F+=1)
    {
    if(( A || B )&&( !(A && D) )&&( (A && E) || (A && F) || (E && F) )
    &&( (B && C) || (!B && !C) )&&( (C && !D) || (D && !C) )&&( D||(!E)) )
     {
        if (A==1)
        printf("The suspects numbered %d are criminals.\n",a);
        else
        printf("The suspect numbered %d is not a criminal.\n",a);
        if (B==1)
        printf("The suspects numbered %d are criminals.\n",b);
        else
        printf("The suspect numbered %d is not a criminal.\n",b);
        if (C==1)
        printf("The suspects numbered %d are criminals.\n",c);
        else
        printf("The suspect numbered %d is not a criminal.\n",c);
        if (D==1)
        printf("The suspects numbered %d are criminals.\n",d);
        else
        printf("The suspect numbered %d is not a criminal.\n",d);
        if (E==1)
        printf("The suspects numbered %d are criminals.\n",e);
        else
        printf("The suspect numbered %d is not a criminal.\n",e);
        if (F==1)
         printf("The suspects numbered %d are criminals.\n",f);
         else
         printf("The suspect numbered %d is not a criminal.\n",f);
        }
    }
    }
    return 0 ;
}

猜你喜欢

转载自blog.csdn.net/weixin_44143702/article/details/89109793