缤纷彩带Strata——构造算法

以前写的老文,觉得有意思就放上来了。。

关于这个游戏的介绍和成就参见度娘:缤纷彩带
感觉是一个很高大上的游戏,抱着这样的心态去玩了几关。最开始有点摸不着头脑,几乎是胡乱试把答案试出来。然后多玩了几关之后,MS发现了一些规律。
先说一下游戏规则,给你一个N*N的矩阵(游戏里N最大为6)。每个格子里有一种颜色,总共有M种颜色。同时给你这M种不同颜色的彩带,你每次需要选择一种颜色的彩带,放在矩阵的某一行或者某一列,最终把每行每列都放满彩带(也就是放2*N条彩带)。由于每行每列都有一条彩带,那么每个格子上都会有两条彩带穿过,游戏所要求的,就是让每个格子中的颜色和这两根彩带中,靠上方的那个彩带颜色相同。我们来看一个很简单例子:


上图是一个2*2的谜题,解决方法就是现在1号位置放一条绿色彩带,然后在3号位置放一条绿色彩带,然后在4号位置放一条橙色彩带,最后在2号位置放一条红色彩带即可。放好之后的效果:

刚刚玩完2*2的时候,很多人都会觉得,这个到了后面随着组合越来越多,难度肯定会成指数级上涨。例如下图是一个5*5的谜题。。。

事实上我刚玩完2*2的时候就觉得3*3很难了。但是有了这个算法也就是小菜一碟了:

好了,接下来是重头戏,我们来看看这个游戏的正确打开方式:我们先提取游戏的几个关键性质:
性质1:每个格子 只会被2根彩带覆盖;
性质2:要求格子中的颜色和较上方的彩带颜色相同 ;
性质3:较下方的彩带颜色和格子的颜色没有任何关系;
性质4:有的格子没有颜色限制,我们认为这个格子可以是任意一种颜色;
由此我们推出2个关键定理:
定理1:第一条彩带的颜色没有任何限制。证明:由于第一条彩带放上去后,所有的彩带均在它上面。根据性质3,它的颜色不会影响解谜。
定理2:最后放置的一条彩带所放的那一行(列),必定均为同一种颜色。证明 :由于最后放置的那条彩带在所有彩带的上方。
根据性质2,它所在的那一行(列)的颜色都应该和这条彩带的颜色相同,因此这一排(列)的所有格子颜色都相同。其实这两个定理是很显然的,但是之后的推理还是证明了一下,觉得白痴的可以无视~好了,聪明的同学可能已经发现了解决这个谜题的方法了。根据定理2,可以得出最后一步该选什么颜色,以及放在什么位置。并且根据性质3,最后那一条彩带所在的那一行,其下方放哪些彩带是完全无关的,因此在剩下的问题中,那一整行我们实际上都可以忽略掉。将整个问题,转化为一个n*(n-1)的矩阵的谜题。之后的事情就是反复利用定理2,每次找颜色全部相同的一行(列),把它当作最后一步,然后忽略掉那一行(列),把问题规模继续缩小。直到最后矩阵会变成0*0的,那么整个谜题也就解决了。只不过我们在实际玩的时候和前面的思考过程的顺序是相反的,因为我每次都是找的最后一步,所以实际操作的顺序和思考顺序是相反的。
特别的,按照前面的步骤,还有一些位置可能还没有放置任何彩带。根据定理1,这些位置上的彩带颜色没有任何限制,可以随便选取颜色放置。接下来我们根据之前的推导,来解决上面发的那个5*5的矩阵谜题:
首先为了方便说明,给颜色和每一个放彩带的位置都编号显然,2号位置全都是第1种颜色。接下来把这一行无视掉,在剩下的4*5的矩阵中
8号位置全都是第3种颜色,10号位置全都是第2种颜色。它们的先后顺序没有影响。之后的过程完全类似,这里就不再演示,根据之前的推导过程我们一次得出每个子问题的“最后一步”是:
第1种颜色放在第2个位置
第3种颜色放在第8个位置
第2种颜色放在第10个位置
第3种颜色放在第1个位置
第4种颜色放在第9个位置
第2种颜色放在第3个位置
第1种颜色放在第5个位置
第3种颜色放在第6个位置
第2种颜色放在第4个位置

其中还有7号位置没有放置任何彩带,根据定理1,这一行可以放置任意颜色的彩带,我们就默认放第一种颜色。整个谜题的操作步骤,就是将上述分析步骤全部倒过来进行,即:
第1种颜色放在第7个位置
第2种颜色放在第4个位置
第3种颜色放在第6个位置
第1种颜色放在第5个位置
第2种颜色放在第3个位置
第4种颜色放在第9个位置
第3种颜色放在第1个位置
第2种颜色放在第10个位置
第3种颜色放在第8个位置
第1种颜色放在第2个位置
至此,这个游戏也算是完全破解了,思考难度降为0。游戏的难点,变成了记忆每一个步骤,然后全部倒过来操作。已经不再是介绍中所说的“考验大脑极限”,而是单纯的“考验记忆力极限”了(笑)。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 220,884评论 6 513
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 94,212评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 167,351评论 0 360
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 59,412评论 1 294
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,438评论 6 397
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 52,127评论 1 308
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,714评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,636评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 46,173评论 1 319
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,264评论 3 339
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,402评论 1 352
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 36,073评论 5 347
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,763评论 3 332
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,253评论 0 23
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,382评论 1 271
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,749评论 3 375
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,403评论 2 358

推荐阅读更多精彩内容

  • 西安现存城墙建于明代(1374-1378),至今已有600多年历史,是中世纪后期中国历史上最著名的城垣建筑之一,是...
    吴山天风_e446阅读 669评论 1 1
  • 【南乡子】 细雨润离殇,凄夜悠悠泪几行。心锁西楼无限恨,茫茫,念你千思已断肠。 独自倚帘窗,睡起孤衾举绪惶。千杯自...
    松涛阁主人阅读 350评论 0 2
  • 几天来身体不适,头昏脑胀。 这一天脑袋接收信息太多,累! 看了二美发表的微信朋友圈,不要停止写作,不要给自己理由。...
    素颜hb阅读 277评论 0 0