小学奥数思维训练题(七)
2017-11-29 17:28
309 查看
设 10 人中的每一个人都知道一条消息,而且这些消息互不相同。为了让所有的人都知道一切消息,他们一共至少要打 _____ 次电话。(华杯赛模拟小中组)
分析:
首先对这 10 人进行编号,从 1 号到 10 号
看一下最直接的方式:
1 号 依次给 2 号、3 号、……、9 号、10 号打电话
需要打 9 次
其中,最后跟 10 号通话的时候:
1 号 和 10 号就能知道所有消息了
然后 1 号再跟 2 号、3 号、……、9 号打电话
把所有消息都告诉他们
这一轮需要打 8 次
这样的话,总共就是:
9+8=17 次
那么这是不是最少的呢?
感觉上可能不是,毕竟有 8个人重复打了 2 次
试一下把人员分成两组:
1 号到 5 号一组,6 号到 10 号一组
第一轮:
1 号给 2、3、4、5 号打,6 号给 7、8、9、10 号打
一共打了 8 次,此时:
1 号、5 号知道了前面 5 条消息
6 号、10 号知道了后面 5 条消息
第二轮:
1 号与 6 号通电话,5 号与 10 号通电话
一共打了 2 次,此时:
1 号、5 号、6 号、10 号都知道了所有消息
第三轮:
1 号给 2、3、4、7、8、9 号打电话
一共打了 6 次,让其他 6 人知道所有消息
这样下来,一共是:
8+2+6=16 次
相关文章推荐
- 小学奥数思维训练题(十六)
- 小学奥数思维训练题(十八)
- 小学奥数思维训练题(二十)
- 小学奥数思维训练(一)
- 小学奥数思维训练题(十)
- 小学奥数思维训练题(九)
- 小学奥数思维训练题(三)
- 小学奥数思维训练题(五)
- 小学奥数思维训练题(十九)
- 小学奥数思维训练题(十一)
- 思维训练题一:如何问问题?
- Zookeeper(案例)的API操作—编程思维训练
- 高级程序员必修课--sql思维举重训练
- Codeforces-298A 思维训练
- 程序员思维训练
- 【思维】2017多校训练七 HDU6121 Build a tree
- [思维训练]独立思考
- 思维训练之感知中的错误
- 以下的问题体现了:发散思维训练、创造性想象训练、形象思维训练、逻辑思维训练、克服思维障碍训练。相信你对此是非常有兴趣的。开始:
- blog其实是一种理性思维和表达能力的训练