3309: HuaHua‘s birthday
时间限制: 1 Sec 内存限制: 128 MB提交: 52 解决: 24
[提交][状态][讨论版]
题目描述
花花就要过生日啦~在过生日这天,花花决定把好朋友邀请到家里来做客,花花看了看乱糟糟的房子,决定好好整理一下,再买点东西装饰一下~
花花家里有一个走廊,宽度为2,长度为n。有一天,他想给这个走廊铺上瓷砖,瓷砖有两种规格,一种是2*1,一种是2*2,请帮他算算一共有多少种铺瓷砖的方法。
输入
输入有多个测试样例。输入每行包含一个正整数N(N<=31),表示走廊的大小是2行N列。以EOF结尾。
输出
输出一共有多少种铺设的方法,每组数据的输出占一行。
样例输入
3 5 9
样例输出
5 21 341
#include "bits/stdc++.h" using namespace std; int main() { int a[50]; a[1] = 1; a[2] = 3; for(int i=3;i < 33;i++) a[i] = a[i-1] + 2*a[i-2]; int n; while(cin >> n) { cout << a[n] << endl; } return 0; }
比赛时想了一个多小时,想到了递归,当时就应该思考到要用猜测的方法把规律猜出来!!日