刷题刷出新高度,偷偷领先!偷偷领先!偷偷领先! 关注我们,悄悄成为最优秀的自己!

简答题

铺砖
对于一个2行N列的走道。现在用1*2,2*2的砖去铺满。问有多少种不同的方式。


时间限制:3000
内存限制:131072
输入
整个测试有多组数据,请做到文件底结束。每行给出一个数字N,0 <= n <= 250
输出
如题
样例输入

2
8
12
100
200

样例输出

3
171
2731
845100400152152934331135470251
1071292029505993517027974728227441735014801995855195223534251

使用微信搜索喵呜刷题,轻松应对考试!

答案:

解析:

【喵呜刷题小喵解析】这个问题是一个经典的动态规划问题,可以使用动态规划来解决。首先,我们定义一个数组dp,其中dp[i]表示用1*2和2*2的砖铺满一个2行i列的走道有多少种不同的方式。然后,我们可以发现,对于dp[i],它可以通过dp[i-1]和dp[i-2]计算出来。具体来说,dp[i]等于dp[i-1]和dp[i-2]的和,因为我们可以选择使用1*2的砖铺满最后一列,也可以选择使用2*2的砖铺满最后两列。最后,我们只需要遍历计算出dp数组,然后输出dp[n]即可。在Python中,我们可以使用以下代码实现:```pythondef count_ways(n):dp = [0] * (n + 1)dp[0] = 1dp[1] = 1for i in range(2, n + 1):dp[i] = dp[i - 1] + dp[i - 2]return dp[n]for _ in range(int(input())):n = int(input())print(count_ways(n))```其中,`int(input())`用于读入多组测试数据,`int(input())`用于读入每一组测试数据中的n。
创作类型:
原创

本文链接:铺砖 对于一个2行N列的走道。现在用1*2,2*2的砖去铺满。问有多少种不同的方式。 时间限制:3

版权声明:本站点所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明文章出处。

让学习像火箭一样快速,微信扫码,获取考试解析、体验刷题服务,开启你的学习加速器!

分享考题
share