两位老实人

来自计算思维百科
跳转至: 导航搜索
两位老实人.png

A、B、C、D、E五个人当中,有两个人是从来不说谎的老实人,但是另外3个人是总说谎的骗子,下面是他们所说的话:

A:B是骗子;

B:C是骗子;

C:E是骗子;

D:A和B都是骗子;

E:B和C都是老实人;

那么,哪两个人是老实人?

解决方案

方案1---穷举法

从五个人选两个老实人有十种可能的组合;

  1. AB是老实人:错误,因为A说B是骗子;
  2. AC是老实人:正确,因为满足其他人都是骗子这一条件:A说B是骗子,C说E是骗子,D说AB都是骗子,可是假设A是老实人,所以D也是骗子,做到这里,以下情况就不用考虑了。
  3. AD是老实人;
  4. AE是老实人;
  5. BC是老实人;
  6. BD是老实人;
  7. BE是老实人;
  8. CD是老实人;
  9. CE是老实人;
  10. DE是老实人;

可以运用的计算思维

穷举法通过对所有可能的解一一进行检测,从而判读哪个解是可行的,这个方法体现了计算思维的机械化特点。