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;
}
相关推荐
brevity_souls13 小时前
SQL Server 窗口函数简介
开发语言·javascript·数据库
listhi52013 小时前
压缩感知信号重构的块稀疏贝叶斯学习(BSBL)算法:原理、实现与应用
学习·算法·重构
摸个小yu13 小时前
【力扣LeetCode热题h100】哈希、双指针、滑动窗口
算法·leetcode·哈希算法
火云洞红孩儿13 小时前
零基础:100个小案例玩转Python软件开发!第六节:英语教学软件
开发语言·python
充值修改昵称13 小时前
数据结构基础:B+树如何优化数据库性能
数据结构·b树·python·算法
Cinema KI13 小时前
一键定位,哈希桶的极速魔法
数据结构·c++·算法·哈希算法
AI殉道师13 小时前
FastScheduler:让 Python 定时任务变得优雅简单
开发语言·python
曾几何时`13 小时前
二分查找(九)2300. 咒语和药水的成功对数
数据结构·算法
D_evil__13 小时前
【Effective Modern C++】第三章 转向现代C++:8. 优先选用nullptr,而非0或NULL
c++
花间相见13 小时前
【JAVA开发】—— HTTP常见请求方法
java·开发语言·http