美文网首页
一道编程题

一道编程题

作者: Xigong | 来源:发表于2020-01-27 18:14 被阅读0次

题目

协助破案。假设已经查清,有A,B,C,D,E五个嫌疑人可能参与制造了一起银行抢劫案,但是不知其中到底是哪儿个人是真正的案犯,不过有确凿证据表明:"
"1.如果A参与了作案,则B一定义也会参加"
"2.B和C两人只有一人参与了作案"
"3.C和D要么都参与了作案,要么都没有参与作案"
"4.D和E两个人至少有一个人参与作案"
"5.如果E作案,则A和D一定作案"

编程

void checkMatch(bool a, bool b, bool c, bool d, bool e);

//==============================================================================
int main(int argc, char *argv[]) {

    cout << "协助破案。假设已经查清,有A,B,C,D,E五个嫌疑人可能参与制造了一起银行抢劫案,但是不知其中到底是哪儿个人是真正的案犯,不过有确凿证据表明:\n"
            "1.如果A参与了作案,则B一定义也会参加\n"
            "2.B和C两人只有一人参与了作案\n"
            "3.C和D要么都参与了作案,要么都没有参与作案\n"
            "4.D和E两个人至少有一个人参与作案\n"
            "5.如果E作案,则A和D一定作案\n"
         << endl;
    for (int a = 0; a < 2; a++) {
        for (int b = 0; b < 2; b++) {
            for (int c = 0; c < 2; c++) {
                for (int d = 0; d < 2; d++) {
                    for (int e = 0; e < 2; e++) {
                        checkMatch(a != 0, b != 0, c != 0, d != 0, e != 0);

                    }
                }
            }
        }
    }
    return 0;
}

/**
 * 
 * @param a A是否犯案
 * @param b B是否犯案
 * @param c C是否犯案
 * @param d D是否犯案
 * @param e E是否犯案
 */
void checkMatch(bool a, bool b, bool c, bool d, bool e) {
    bool match1 = a & b || !a;
    bool match2 = b & !c || !b & c;
    bool match3 = c & d || !c & !d;
    bool match4 = d & !e || !d & e;
    bool match5 = e & a & d || !e;
    if (match1 && match2 && match3 && match4 && match5) {
        cout << "案情查明了:" << endl;
        cout << "A" << (a ? "犯案了" : "没有犯案") << endl;
        cout << "B" << (b ? "犯案了" : "没有犯案") << endl;
        cout << "C" << (c ? "犯案了" : "没有犯案") << endl;
        cout << "D" << (d ? "犯案了" : "没有犯案") << endl;
        cout << "E" << (e ? "犯案了" : "没有犯案") << endl;
    }
}

答案

案情查明了:
A没有犯案
B没有犯案
C犯案了
D犯案了
E没有犯案

相关文章

  • 编程与数学1 编程实现对一道加法数学题的答案探究

    利用PHP编程,对一道数学题的答案探究 题 这是一道三年级的数学题:用0至9这十个数字,组成一道加法竖式。 编程思...

  • 一道编程题

    题目 协助破案。假设已经查清,有A,B,C,D,E五个嫌疑人可能参与制造了一起银行抢劫案,但是不知其中到底是哪儿个...

  • 一道编程题

  • 《Python语言程序设计》第一章.练习与作业

    编程题 1.1 编程题 1.2 编程题 1.3 编程题 1.4 编程题 1.5 编程题 1.6 编程题 1.7 编...

  • 第七周

    这周我学了一点编程题还有密码题,自从上学期课程有上过C语言以后,很久没接触过编程了。 先看第一道题 这道题我用了三...

  • ES6中的类+Map

    昨天有一道题,用ES6中的类写一道业务编程题。题目大致如下 需求: 员工类(Staff)属性:员工姓名(name)...

  • L1W2神经网络入门编程题--深度学习笔记

    这是我做的第一道神经网络的编程题,使用python3.8,jupyter notebook。这道题的目的就是神经网...

  • 关于一道编程题的思考

    一道普通的编程题 以下这道编程题连续三年出现在本科《计算机安全学》的实践作业当中,每年大概会有100名左右的学生被...

  • ARTS(09)

    什么是 ARTS? 算法(Algorithm): 每周至少一道 LeetCode 算法题,加强编程训练和算法学习 ...

  • ARTS(05)

    什么是 ARTS? 算法(Algorithm): 每周至少一道 LeetCode 算法题,加强编程训练和算法学习 ...

网友评论

      本文标题:一道编程题

      本文链接:https://www.haomeiwen.com/subject/aayethtx.html