抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >

Life is a tragedy in close up and a comedy in a long shot.

人生近看是悲剧,远看是喜剧

前言

上个星期刷B站的时候碰巧刷到了这样一个视频

视频源地址:

P1

如图所示,这三个杯子容量分别为4、9、9,在最开始,前两个杯子的水被装满,后一个杯子是空,现在需要通过倒水,使得有一个杯子中的水为6即能获胜。

倒水要求:

  • 选择两个杯子,将1个杯子的水倒入另一个杯子中,直到另外的杯子被填满,或者是这个杯子被倒空为止。(即一次倒完,多则存余)

  • 在倒水过程中可以指定三个杯子中存水量最少的杯子将其清空,例如,初始状态为490(三个杯子水量的顺序),若我一开始就清空,那么除去「0」,「4」这个杯子就会被清空,变成090。这个『清空』最多只能使用两次

正文

我的解法(15步,想了我2节课):094 454 058 418 319 309 039 435 075 471 291 290 092 452 056

思路

此处有3个瓶子,其中有2个「9」,可以推测,如果处理不当,是很容易进入循环里面的,目光再转向「4」,可知这个就是一个转折点了。两个瓶子水是满的,那么最后一个瓶子将作为『过渡瓶』,将「4」放到过渡瓶中,然后将中间水瓶的「9」依次用4拆开,可得454,、058、418,那么在这里,再倒最后一次得319。

在319这里,是必须要清空一次水,如果不倒,就会出现049的情况,很明显,这不就是最开始的490吗?这倒了和没倒有什么区别。所以这里要清空一次,变成309。

这里由于中间为「0」,那么理应中间为『过渡瓶』。将「3」放入,再将「9」依次分割,可得到039、435、075、471、291。这里出于『不循环』的考虑,必须要清空一次水,变成290,至此,两次清空全部用完。

此时当最后一个瓶子作为『过渡瓶』,那么倒2拆9得092,452。欸☝️😀,这最后一步,当也就出来了,成056。

以上就是我的思路了。

评论

😉在此处留下你的评论,输入邮箱可以获得回复
🥳本站使用weavatar.com的头像服务
🧐使用markdown语法书写
⚠️提醒邮箱是:blog@245179.xyz 可能会被识别成垃圾邮件?
📷上传图片请自备图床