512汶川地震
/*Problem Description
下面是512汶川大地震部分受灾学校伤亡情况(惨痛!!)<br><br>1、 四川省都江堰市 聚源中学<br>伤亡情况:遇难学生人数(含失踪)320<br>详细说明: 一栋教学楼被震垮,该楼18个班420多名学生被埋,截至目前仅有不到100名获救。<br>2、 四川省绵阳市 北川县北川中学<br>伤亡情况:遇难学生人数(含失踪)1200多人<br>详细说明:学校教室损毁情况严重,六至七层高的主教学楼已经垮塌得只有一人多高,其他两个教学楼和宿舍也有不同程度垮塌<br>3、四川省绵阳市 北川县曲山小学(绵阳市示范小学)<br>伤亡情况:遇难学生人数(含失踪)698人<br>详细说明:学校位于北川县郊一公里处的任家坪镇,在校师生人数 1003人,地震使学校一座五层教学楼的整体倒塌,只剩下了一层<br> 4、四川省绵阳市 北川县曲山幼儿园<br>伤亡情况:在校师生人数500多,仅生还20余人<br>详细说明:学校位于绵阳市北川县曲山镇危家巷,曲山幼儿园及学前班500多名学生被滑坡气浪推移20多米,教学大楼像竹编一样倒下,整体向外挪出五十公分仅凭肉眼根本无法作出判断这是四层楼……<br>5、四川省绵阳市 北川县茅坝初中<br>伤亡情况:在校师生人数240多,仅生还20余人<br>详细说明:教室被泥石流掩埋,学校只剩一根歪歪斜斜的旗杆和一面鲜艳的五星红旗……<br>…..<br><center> <img src=../../../data/images/C132-1005-1.jpg></center> <br><br>为什么会有这么多的学校伤亡惨重?也许有很多值得我们调查的东西。但对于我们来说,当前最紧迫的任务是重建学校,以便让幸存的学生早日走进课堂。<br>这不,一所由社会各界捐款修建的希望小学马上就要竣工了!学校教室的长度为n米,宽度为3米,现在我们有2种地砖,规格分别是1米×1米,2米×2米,如果要为该教室铺设地砖,请问有几种铺设方式呢?<br>
Input
输入数据首先包含一个正整数C,表示包含C组测试用例,然后是C行数据,每行包含一个正整数n(1<=n<=30),表示教室的长度。
Output
对于每组测试数据,请输出铺设地砖的方案数目,每个输出占一行。
Sample Input
2
2
3
Sample Output
3
5*/
其实问题相当与3*n 的区域,有1*1和2*2的地砖可以去铺,问有几种方法,
典型DP,
n
n-1: 相当与加最后一列全是1*1
n-2:可以加上2*2下1*1,或者下2*2上1*1,或者全是1*1,但是类似的全是1*1和n-1有重复的地方。所以实际是两种情况
注意有的人认为2种情况,应该+2,但注意是排列组合的问题,先n-2弄好,还有一步,这一步有2种方法,所以乘法原理,是*2不是+2
int main()
{
int i, n,a;
long long f[35];
f[1] = 1;
f[2] = 3;
f[3] = 5;
for (i = 3; i <= 32; i++)
f[i] = f[i - 1] + 2*f[i - 2];
cin >> n;
while (n--)
{
cin >> a;
cout << f[a]<< endl;
}
return 0;
}
相关阅读
今天是汶川大地震八周年,各地开展活动悼念地震中遇难的同胞,回顾那些定格的瞬间,祭奠历史,悼念遇难者。
新华网首页最重磅头条,发布了‘净网2014’的消息了。后面还有央视和人民网,以及包括腾迅,新浪等各大网媒平台的报导了。各地陆续掀起