第三周项目4-穷举法-谁是小偷
2016-03-13 10:34
316 查看
问题及代码:
/*
*Copyright (c) 2016,烟台大学计算机学院
*All rights reserved.
*文件名称:zwj.cpp
*作 者:张伟晶
*完成日期:2016年3月13日
*版 本 号:v1.0
*
*问题描述:警察局抓住了A、B、C、D四名盗窃嫌疑犯,其中只有一人是小偷。在审问时,A说:“我不是小偷”;B说:“C是小偷”;C说:“小偷肯定是D”;D说:“C在冤枉好人”。现在已经知道这四人中有三人说的是真话,一人说的是假话。请问到底谁是小偷?
*输入描述:无
*程序输出:c是小偷
*/
#include<iostream>
using namespace std;
int main()
{
int a,b,c,d;
for(a=0;a<=1;a++) // 1 是 0 不是
for(b=0;b<=1;b++)
for(c=0;c<=1;c++)
for(d=0;d<=1;d++)
{
if((a==0)+(c==1)+(d==1)+(d==0)==3 && a+b+c+d==1)
{
cout<<"A"<<(a?"":"不")<<"是小偷\n";
cout<<"B"<<(b?"":"不")<<"是小偷\n";
cout<<"C"<<(c?"":"不")<<"是小偷\n";
cout<<"D"<<(d?"":"不")<<"是小偷\n";
}
}
return 0;
}
运行结果:
知识点总结:
穷举法。
学习心得:
持续努力,保持激情。加油!!!
/*
*Copyright (c) 2016,烟台大学计算机学院
*All rights reserved.
*文件名称:zwj.cpp
*作 者:张伟晶
*完成日期:2016年3月13日
*版 本 号:v1.0
*
*问题描述:警察局抓住了A、B、C、D四名盗窃嫌疑犯,其中只有一人是小偷。在审问时,A说:“我不是小偷”;B说:“C是小偷”;C说:“小偷肯定是D”;D说:“C在冤枉好人”。现在已经知道这四人中有三人说的是真话,一人说的是假话。请问到底谁是小偷?
*输入描述:无
*程序输出:c是小偷
*/
#include<iostream>
using namespace std;
int main()
{
int a,b,c,d;
for(a=0;a<=1;a++) // 1 是 0 不是
for(b=0;b<=1;b++)
for(c=0;c<=1;c++)
for(d=0;d<=1;d++)
{
if((a==0)+(c==1)+(d==1)+(d==0)==3 && a+b+c+d==1)
{
cout<<"A"<<(a?"":"不")<<"是小偷\n";
cout<<"B"<<(b?"":"不")<<"是小偷\n";
cout<<"C"<<(c?"":"不")<<"是小偷\n";
cout<<"D"<<(d?"":"不")<<"是小偷\n";
}
}
return 0;
}
运行结果:
知识点总结:
穷举法。
学习心得:
持续努力,保持激情。加油!!!
相关文章推荐
- Null、Nothing和字符串空的区别
- c/C++系列(笔试面试高频题)
- 简单枚举——除法
- 收集Android studio 常用的插件(持续更新)
- 利用Ajax上传二进制文件
- 线程
- Java遇见HTML——JSP篇之JavaWeb简介
- Lua和C++交互详细总结
- 1468: Tree|树的点分治
- nyoj--84 阶乘的0
- 面向对象特性-多态
- java中dao层和service层的区别是什么?
- 到底DAO是什么?为什么要有它的存在?
- 我对互联网的认识,浅谈~
- 文本三剑客之awk
- socket tcp使用recv接收数据时,返回errno错误代码88
- B-tree B+tree B*tree
- DAO是什么技术
- Java内存溢出的几种情况
- socket tcp使用recv接收数据时,返回errno错误代码88