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

这是一道典型的走楼梯问题,公式为dpi=dpi-1+2*dpi-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;
}
相关推荐
蜗牛互联网6 小时前
Java 17调用Embeddings API:余弦相似度与FAQ拒答阈值
java·开发语言·人工智能
我爱工作&工作love我6 小时前
P14358 [CSP-J 2025] 座位
算法
旖旎夜光6 小时前
LeetCode 1576: 替换所有的问号(模拟) —— 题解
c++·学习·算法·leetcode·力控
郝学胜-神的一滴6 小时前
AI 编程智能体 05:拆解智能体分级体系、类型与全行业落地场景
开发语言·人工智能·python·程序人生·pycharm
朝朝辞暮i6 小时前
C++ 第 38 课:线程、SingleThreadedExecutor、MultiThreadedExecutor、Callback Group
开发语言·c++·算法·ros2
(Charon)6 小时前
【C++面试】互斥锁与读写锁:使用场景、实现原理与写饥饿问题
c++·算法
longlongzihan6 小时前
回溯法详解:LeetCode 46. 全排列
算法·leetcode·回溯
秋名RG6 小时前
时间复杂度、空间复杂度与算法稳定性详解
数据结构·算法·排序算法
白色的北极熊6 小时前
c语言 求余运算符
c语言·数据结构·算法
外收内放6 小时前
Python基础语法练习题(43-44)
开发语言·python