首页
社区
课程
招聘
[讨论]关于Q4第十题幕后之王设计的问题,请大家讨论一下
发表于: 2019-12-27 16:35 5592

[讨论]关于Q4第十题幕后之王设计的问题,请大家讨论一下

2019-12-27 16:35
5592
按照我的理解,这一题难度应该没这么大,应该撑不到两天。到第三天居然还没人攻破,搞得我自己都有点慌,不会是有漏洞吧?这下丢脸丢大了!后来经过段老大协调我才知道,由于设计时没有考虑到一个因素,导致某个小坑放大成一个巨坑,有很多人掉在里面爬不出来了,在这里我表示很抱歉!
详细说一下设计流程吧。用户输入的前18位用作2个大数,后面全部用作迷宫的走法。迷宫有四层,分散放置了四个物品,每收集一个物品就把大数计算一次,最后走出迷宫时检测大数计算结果,正确时才退出迷宫。由于走迷宫的解法不唯一,通过限制输入长度让迷宫解法必须是最短解,这时迷宫单层内的走法先后互换导致解法还是不唯一,我又加了个crc验证限制唯一解,这里就需要穷举所有最短解,此时的穷举范围最多只有3072组,全部穷举完也只是毫秒级的,只是编程实现起来比较麻烦。
由于设计时考虑不周,在大数初始化时我随意设定了一个值,却正好符合最后走出迷宫时的检测条件,这导致了没有收集物品就能直接走出迷宫,但是在迷宫外还有crc验证,此时由于没有收集物品,迷宫步数还冗余很多步,这就存在这么一种可能:会不会在这些冗余步数里,正好有一种能碰撞出crc呢?于是很多人都掉这坑里了,有人碰撞了一晚上…(没错!ccfer!说的就是你!)
从设计者的角度来看,这个碰撞意义不大,如果碰撞出正确解,由于没有收集物品跳过了前18位的大数计算,在这种解法下前18位可以为任意值,这只能证明此题存在无数多解,浪费大量时间来证明题有问题,还不如好好做题呢。
从做题的角度来看,在发现前18位没有参与时也能走出迷宫,但是crc穷举范围巨大,此时应该能意识到这是一个坑,是不是题目故意诱导我在这里穷举的?然后找前18位参与的地方,然后就回到正常的路上了。(还好逻辑链条没断)
从题目的趣味性来讲,由于这个坑太过巨大,线索变得非常隐蔽,但是还不至于发现不了,致使难度大大增加,趣味性大大降低,这是设计的败笔。

好了,情况说完了,现在由于此题存在多解的可能性(注意,只是可能性,并没有证明),这就是说有违规的可能,那么做题的你,觉得这题到底有没有违规呢?请大家投票,不管什么结果我都接受。(内心OS:如果我一口咬死这就是我故意留的大坑,会不会有人来咬我?哈哈哈哈)



[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

最后于 2019-12-30 16:40 被kanxue编辑 ,原因:
收藏
免费 0
支持
分享
你认为这题是否违规? (单选)
坑太深,受伤太重,却也只能不甘心的说没违规 (1 票,16.67%)
存在多解的可能性,违规 (3 票,50%)
比赛当然要有坑,设计的很巧妙 (2 票,33.33%)
最新回复 (8)
雪    币: 29249
活跃值: (7769)
能力值: ( LV15,RANK:3306 )
在线值:
发帖
回帖
粉丝
2
正确的key是啥? 感觉得走完4层后再回去拿物品才行
2019-12-27 17:19
1
雪    币: 6051
活跃值: (1441)
能力值: ( LV15,RANK:1473 )
在线值:
发帖
回帖
粉丝
3
风间仁 正确的key是啥? 感觉得走完4层后再回去拿物品才行
走完4层再返回会浪费步数吧?
预设答案:sBXI5MQArEuDiC3jbrGgEoiQ7x8w7hOog8YiiG8wwg78hYoiUbwh8ib8w7YogiihYaXilxwxRwRIYRiSwRYiigLywwYRiX8LbwRYiiOwbX8Yi4Hi
2019-12-27 17:55
0
雪    币: 8209
活跃值: (4518)
能力值: ( LV15,RANK:2473 )
在线值:
发帖
回帖
粉丝
4
第一层的道具我拾取过,只走到第三层,没进去第四层
后来发现有捷径可以不拾取道具,为啥还要拾取道具呢
而且设置不同的crc,也可以让部分道具变成坑
我的短key :888888888999999999GgEXiQVwXYixgiG7ww7XiVQwX7YoiQ7w7WoYiUgwWpig7iaYhYi4XlYgHi
crc=0xD8412CCF
等有空了,我再继续碰撞,我就是觉得玩碰撞才更有意思
2019-12-27 17:57
0
雪    币: 6051
活跃值: (1441)
能力值: ( LV15,RANK:1473 )
在线值:
发帖
回帖
粉丝
5
ccfer 第一层的道具我拾取过,只走到第三层,没进去第四层 后来发现有捷径可以不拾取道具,为啥还要拾取道具呢 而且设置不同的crc,也可以让部分道具变成坑 我的短key :8888888889999999 ...
不走寻常路
请教一下,碰撞的代码是怎样的?怎么保证随机插入的步数是可用的呢?
2019-12-27 18:27
0
雪    币: 8209
活跃值: (4518)
能力值: ( LV15,RANK:2473 )
在线值:
发帖
回帖
粉丝
6
lelfei 不走寻常路[em_63] 请教一下,碰撞的代码是怎样的?怎么保证随机插入的步数是可用的呢?
完善的代码不好写,简单考虑的话,不改变一个已知路径的前提下,把原来的一个长距离拆成几次短距离夹杂往返,组合起来也是蛮多的
还可以走两步退一步
你是不是要帮我实现碰撞啊
最后于 2019-12-27 18:41 被ccfer编辑 ,原因:
2019-12-27 18:39
0
雪    币: 6051
活跃值: (1441)
能力值: ( LV15,RANK:1473 )
在线值:
发帖
回帖
粉丝
7
ccfer lelfei 不走寻常路[em_63] 请教一下,碰撞的代码是怎样的?怎么保证随机插入的步数是可用的呢? 完善的代码不好写,简单考虑的话,不改变一个已 ...
我是觉得实现起来特别难写,我可做不来,如果你把代码给我,我可以帮着一起跑
2019-12-27 19:02
0
雪    币: 8209
活跃值: (4518)
能力值: ( LV15,RANK:2473 )
在线值:
发帖
回帖
粉丝
8
碰撞成功:
KCTF2019Q4LastLordGgEXiQVwXYixgiG7ww7XiVQwX7YoiQ7w7WoYiUgwWpTBJKNq9Aeig7iaYhYi4XlYgHi
2019-12-28 03:05
1
雪    币: 6051
活跃值: (1441)
能力值: ( LV15,RANK:1473 )
在线值:
发帖
回帖
粉丝
9
ccfer 碰撞成功: KCTF2019Q4LastLordGgEXiQVwXYixgiG7ww7XiVQwX7YoiQ7w7WoYiUgwWpTBJKNq9Aeig7iaYhYi4XlYgHi
太强了!
经过证明,此题存在无数多解,确认违规。

后记:之前我出的每一题,都被ccfer用穷举简单粗暴的解决了,这次为了对抗穷举,特意选了超长key,并且让每一步都有很多种选择,只在最后出口验证防止中途暴露穷举方向,还用crc校验这种粗暴的方式来防止被猜到意图,(其实最开始设计时是想过在上下楼层或推柱子填坑时记录数据,到达出口时验证数据,让解题者必须按照我规定的路线走,后来担心解题者不走迷宫只通过这数据来穷举,这些代码都被注释掉了)。却因为设计时的一个小疏忽,还是被ccfer从一个刁钻的角度穷举出来了。唉,千里之堤溃于蚁穴。
2019-12-28 08:24
0
游客
登录 | 注册 方可回帖
返回
//