题库首页 › 青少年软件编程(C语言) › 题目 4428

铺砖(2023.3) 对于一个2行N列的走道。现在用1*2,2*2的砖去铺满。问有多少种不同的方式。 时间限制:3000 内存限制:131072 输入 整个测试有多组数据,请做到文件底结束。每行给出一个数字N,0 <= n <= 250 输出 如题 样例输入 2 8 12 100 200 样例输出 3 171 2731 845100400152152934331135470251 1071292029505993517027974728227441735014801995855195223534251

正确答案:参考程序(C++):2行N列铺砖。dp[n]=dp[n-1]+2*dp[n-2](dp[n-1]竖放1×2,dp[n-2]放2×2或两块横1×2两种)。dp[0]=1,dp[1]=1。大数需高精度,N=200为超大整数。核心:递推dp[n]=dp[n-1]+2dp[n-2]。

试卷来源:202303 青少年等级考试C/C++真题三级

本卷相关题目

在线做题 同科目题库