悼念512汶川大地震遇难同胞——重建希望小学
Problem Description
下面是512汶川大地震部分受灾学校伤亡情况(惨痛!!)
1、 四川省都江堰市 聚源中学
伤亡情况:遇难学生人数(含失踪)320
详细说明: 一栋教学楼被震垮,该楼18个班420多名学生被埋,截至目前仅有不到100名获救。
2、 四川省绵阳市 北川县北川中学
伤亡情况:遇难学生人数(含失踪)1200多人
详细说明:学校教室损毁情况严重,六至七层高的主教学楼已经垮塌得只有一人多高,其他两个教学楼和宿舍也有不同程度垮塌
3、四川省绵阳市 北川县曲山小学(绵阳市示范小学)
伤亡情况:遇难学生人数(含失踪)698人
详细说明:学校位于北川县郊一公里处的任家坪镇,在校师生人数 1003人,地震使学校一座五层教学楼的整体倒塌,只剩下了一层
4、四川省绵阳市 北川县曲山幼儿园
伤亡情况:在校师生人数500多,仅生还20余人
详细说明:学校位于绵阳市北川县曲山镇危家巷,曲山幼儿园及学前班500多名学生被滑坡气浪推移20多米,教学大楼像竹编一样倒下,整体向外挪出五十公分仅凭肉眼根本无法作出判断这是四层楼……
5、四川省绵阳市 北川县茅坝初中
伤亡情况:在校师生人数240多,仅生还20余人
详细说明:教室被泥石流掩埋,学校只剩一根歪歪斜斜的旗杆和一面鲜艳的五星红旗……
为什么会有这么多的学校伤亡惨重?也许有很多值得我们调查的东西。但对于我们来说,当前最紧迫的任务是重建学校,以便让幸存的学生早日走进课堂。
这不,一所由社会各界捐款修建的希望小学马上就要竣工了!学校教室的长度为n米,宽度为3米,现在我们有2种地砖,规格分别是1米×1米,2米×2米,如果要为该教室铺设地砖,请问有几种铺设方式呢?
Input
输入数据首先包含一个正整数C,表示包含C组测试用例,然后是C行数据,每行包含一个正整数n(1<=n<=30),表示教室的长度。
Output
对于每组测试数据,请输出铺设地砖的方案数目,每个输出占一行。
Sample Input
2
2
3
Sample Output
3
5
解题报告:
现在长度为i,那么它是在i-1长度基础上新增了1,可以让这新增的1*3区域铺三块1*1的砖,而前面部分就 是f[i-1]种排法。另外新增区域也可以考虑跟前一列用2*2的砖一块铺,由于宽度固定为3,那么最后这两列(2*3的区域)可以有三种排法(2*2的砖在上部或在下部,以及全部排成1 * 1的砖,但是这样会和上面的重复,故只有两种),而它们左边的排法是f[i-2]种。
递推公式:f[i] = f[i-1] + 2*f[i-2]
#include<bits/stdc++.h>
using namespace std;
int main(){
long long int n,a,f[31];
memset(f,0,sizeof(f));
scanf("%lld",&n);
f[1] = 1;
f[2] = 3;
for(int i = 3;i <= 30;i++)
f[i] = f[i - 1] + 2 * f[i - 2];
while(n--){
scanf("%lld",&a);
printf("%lld\n",f[a]);
}
return 0;
}
推荐阅读
-
悼念512汶川大地震遇难同胞——重建希望小学 HDU - 2190
-
Hdoj 2190.悼念512汶川大地震遇难同胞——重建希望小学 题解
-
悼念512汶川大地震遇难同胞——重建希望小学
-
悼念512汶川大地震遇难同胞——来生一起走(dfs+打表)
-
HDU-2191 悼念512汶川大地震遇难同胞——珍惜现在,感恩生活(多重背包)
-
HDU2191 悼念512汶川大地震遇难同胞——珍惜现在,感恩生活(多重背包)
-
hdu 2191 悼念512汶川大地震遇难同胞——珍惜现在,感恩生活 (01背包)
-
HDU 2191 悼念512汶川大地震遇难同胞——珍惜现在,感恩生活(多重背包)
-
HDU--2191 悼念512汶川大地震遇难同胞——珍惜现在,感恩生活【多重背包】
-
hdu2190——悼念512汶川大地震遇难同胞——重建希望小学