滑坡
在此挑战中,您的工作是预测大规模滑坡造成的破坏程度。我们为其使用以下简化的二维模型,该模型以初始高度 h >= 0和临界系数为参数 c > 0。您从高度为的悬崖开始h,并假定地形在其左右两侧完全无限平坦。对于h = 6,情况如下:
##########
##########
##########
##########
##########
##########
-----------------------
将-是不可移动的基石,而且#是不稳定的土壤。如果相邻两列之间的高度差大于c,则会发生滑坡:c左列的土壤的最高单位落到右列的下一c列,每列一列。图中最右边的非空列对于不稳定c = 2,因此触发了滑坡:
#########
#########
##########
##########
##########
############
-----------------------
柱子仍然不稳定,导致第二次滑坡:
#########
#########
#########
#########
############
############
-----------------------
现在,其左侧的柱子变得不稳定,因此在那里触发了新的滑坡:
########
########
#########
###########
############
############
-----------------------
此后,悬崖再次稳定。这个模型的优点是滑坡的处理顺序无关紧要:最终结果是相同的。
任务
您的程序被赋予整数参数h并c作为输入(顺序无关紧要,但是您必须在答案中指定它),并且它应该输出滑坡影响的总列数。这意味着在所得的稳定悬崖中其高度严格在0和之间的列数h。在以上示例中,正确的输出为4。
您可以编写完整的程序或函数。最低字节数获胜,并且不允许出现标准漏洞。
测试用例
这些以格式给出h c -> output。
0 2 -> 0
2 3 -> 0
6 2 -> 4
6 6 -> 0
10 1 -> 10
15 1 -> 14
15 2 -> 11
15 3 -> 6
40 5 -> 16
80 5 -> 28
80 10 -> 17