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;
}
相关推荐
7***533421 分钟前
Rust错误处理模式
开发语言·后端·rust
T***160732 分钟前
C++在游戏开发中的AI行为树
开发语言·c++
16_one35 分钟前
autoDL安装Open-WebUi+Rag本地知识库问答+Function Calling
人工智能·后端·算法
无心水1 小时前
【Python实战进阶】5、Python字符串终极指南:从基础到高性能处理的完整秘籍
开发语言·网络·python·字符串·unicode·python实战进阶·python工业化实战进阶
4***14901 小时前
Rust系统工具开发实践指南
开发语言·后端·rust
自由生长20241 小时前
为什么C++项目偏爱.cxx扩展名:从MongoDB驱动说起
c++
2501_940943912 小时前
体系课\ Python Web全栈工程师
开发语言·前端·python
CSDN_RTKLIB2 小时前
【GNU、GCC、g++、MinGW、MSVC】上
c++·gnu
rafael(一只小鱼)2 小时前
AI运维开发平台学习
java·开发语言
b***74882 小时前
C++在系统中的内存对齐
开发语言·c++