首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

关于翻水碗的有关问题

2012-03-08 
关于翻水碗的问题看来好多人小时候没玩过文曲星上的一个类似的游戏啊,只不过是5*5的.翻水碗只是他的一维形

关于翻水碗的问题
看来好多人小时候没玩过文曲星上的一个类似的游戏啊,只不过是5*5的.
翻水碗只是他的一维形态而已。
我就说两点,你们应该就能明白过来了。
对于n个碗,我们可以设置状态为a[n],0为正面1为反面。每个碗的翻动此时是b[n]
1.每个位置翻2次等于没翻。因此最优解每个位置要么是翻要么就是不翻。因此b[i]不是0就是1。
2.第一个碗是否翻动,决定了后面碗是否需要翻动,这是一个递推的过程。
a[0]的值取决于b[0]和b[1],b[0]确定了,b[1]确定。同理a[1]的值取决于b[0] b[1] b[2],b[0] b[1]确定,b[2]确定,因此类推。
就两种情况,第一个碗翻还是不翻。

有异议者本帖回复。


[解决办法]
我支持楼主的想法
上次也有这个问题的帖子
里边有不少人反对这个方法
[解决办法]
我有两点不明白:
1、这个游戏的初始状态是什么,也就是说,开始碗都是翻着放的吗?
2、游戏规则是前一个碗翻了后面的就必须翻吗?
[解决办法]

探讨
看来好多人小时候没玩过文曲星上的一个类似的游戏啊,只不过是5*5的.
翻水碗只是他的一维形态而已。
我就说两点,你们应该就能明白过来了。
对于n个碗,我们可以设置状态为a[n],0为正面1为反面。每个碗的翻动此时是b[n]
1.每个位置翻2次等于没翻。因此最优解每个位置要么是翻要么就是不翻。因此b[i]不是0就是1。
2.第一个碗是否翻动,决定了后面碗是否需要翻动,这是一个递推的过程。
……

热点排行