3631 - 谁逃课了

通过次数

0

提交次数

0

时间限制 : 1 秒 内存限制 : 128 MB

有ABCDE5个同学涉嫌逃课。

(1)如果A逃课,B也一定逃课
(2)B和C中有且只有一个人参与逃课
(3)C和D要么都逃,要么都不逃
(4)D和E至少有一个人逃了
(5)如果E逃课,则A和D一定参与逃课

请输出逃课的同学

题目输入

题目输出

假如5个同学都逃课了,输出ABCDE

输入/输出样例

输入格式


                        

输出格式


                        

C++解答

#include <iostream>
using namespace std;
#define N 5
int main()
{	
    int i,j,a[N];
    bool b1, b2, b3, b4, b5;//1表示逃课,0表示没逃 
    for (i = 0; i < (1<<N); i++)
    {
        for (j = 0; j < N; j++)
            a[j] = i >> j& 1;
        b1 = a[1] == 1 || a[0] == 0;
        b2 = a[1] != a[2];
        b3 = a[2] == a[3];
        b4 = a[3] + a[4] >= 1;
        b5 = a[0] + a[3] == 2 || a[4] == 0;
        if (b1 && b2 && b3 && b4 && b5)
            for (j = 0; j < 5;j++ )
            {
            	if(a[j])
					cout<<char('A'+j);
            }
    }
    return 0;
}

Java解答

public class Main {
	public static void main(String[] args) {
		System.out.println("CD");
	}
}