我们有40条相同宽度但不同高度的棍棒。有多少种布置可以将它们彼此相邻放置,以便当我们从右边看时看到10条,而当我们从左边看时又看到10条?
例如,这样的排序是:
黑棒是隐藏的,红色棒是从左看时可以看到的棒,蓝色棒是从右眼看时可以看到的棒,紫色的棒(即最长的棒)是可以看到的棒从双方。
作为测试用例:
- 如果我们有3个棍棒,那么从左边看2个,从右边看2个的订购数量是2
- 如果我们有5个棍棒,那么从左边看3个,从右边看3个的订购数量是6
- 如果我们有10个棍棒,那么从左边看4个从右边看4个的订购数量是90720
13
您可能希望避免使用固定输出的问题,因为最佳代码高尔夫球答案可能只会打印结果而不进行计算。我建议让这个问题有几个变量输入,例如N个摇杆,这样您就可以从左/右看到其中的K个,其中N和K是输入整数
—
Sp3000,2015年
如果您确实更改了规范,以使程序可以接受输入(我不明白为什么不这样做-您已经有了测试用例),则可能要考虑是否要对程序设置时间限制。
—
Sp3000
“必须使用您发布的程序来计算40/10的情况”应该是一个足够好的时间限制。
—
2015年
我无法克服
—
蒂姆(Tim)
10!/40 = 90720
……是巧合的事实吗?
@Tim 90720的意义是什么?Los Alamitos,CA的邮政编码?
—
Digital Trauma 2015年