剑指offer系列源码-矩形覆盖

来源:互联网 发布:证大财富淘宝达人贷 编辑:程序博客网 时间:2024/06/08 15:46
题目1390:矩形覆盖时间限制:1 秒内存限制:32 兆特殊判题:否提交:1409解决:886题目描述:我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法?输入:输入可能包含多个测试样例,对于每个测试案例,输入包括一个整数n(1<=n<=70),其中n为偶数。输出:对应每个测试案例,输出用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有的方法数。样例输入:4样例输出:5

#include<iostream>#include<stdio.h>using namespace std;//转递归为循环long  long f(int n){    if(n==1)return 1;    if(n==2)return 2;    long long sum=0;    long long preOne=2;//n前一项    long long preTwo=1;//n前两项    for(int i=3;i<=n;i++){        sum = preOne+preTwo;        preTwo = preOne;        preOne = sum;    }    return sum;}int main(){    int n;    while(scanf("%d",&n)!=EOF){        printf("%ld\n",f(n));    }    return 0;}


0 0
原创粉丝点击