c++贴瓷砖

题目描述

有一块大小是 2 * n 的墙面,现在需要用2种规格的瓷砖铺满,瓷砖规格分别是 2 * 1 和 2 * 2,请计算一共有多少种铺设的方法。

输入

输入的第一行包含一个正整数T(T<=20),表示一共有T组数据,接着是T行数据,每行包含一个正整数N(N<=30),表示墙面的大小是2行N列。

输出

输出一共有多少种铺设的方法,每组数据的输出占一行。

样例输入
复制代码
3
2
8
12
样例输出
复制代码
3
171
2731

这是一道典型的走楼梯问题,公式为dp[i]=dp[i-1]+2*dp[i-2]

上代码:

cpp 复制代码
#include<bits/stdc++.h>
using namespace std; 
int main(){
	long long dp[35];
	int t;
	cin>>t;
	while(t--){
		int n;
		cin>>n;
		dp[1]=1;
		dp[2]=3;
		for(int i=3;i<=n;i++) dp[i]=dp[i-1]+2*dp[i-2];
		cout<<dp[n]<<endl;
	}	
	return 0;
}
相关推荐
今儿敲了吗2 分钟前
常用UI组件
开发语言
零号全栈寒江独钓3 分钟前
基于c/c++实现linux/windows跨平台ntp时间戳服务器
linux·c语言·c++·windows
发发就是发4 分钟前
USB系统架构概述:从一次诡异的枚举失败说起
驱动开发·单片机·嵌入式硬件·算法·fpga开发
少许极端6 分钟前
算法奇妙屋(四十七)-ST表
算法·st表·rmq
高斯林.神犇8 分钟前
六、java配置类改造ioc
java·开发语言
ulias2128 分钟前
进程初识(1)
linux·运维·服务器·网络·c++
t***5449 分钟前
Orwell Dev-C++ 和 Embarcadero Dev-C++ 哪个更好
开发语言·c++
gCode Teacher 格码致知11 分钟前
Python提高:软件测试中Fixture机制-由Deepseek产生
开发语言·python
kishu_iOS&AI24 分钟前
Pytorch —— 自动微分模块
人工智能·pytorch·python·深度学习·算法·线性回归
BestOrNothing_201535 分钟前
C++零基础到工程实战(4.3.4):vector数组搜索、删除、插入与排序
c++·vector·sort·find·insert·动态数组·erase