NBU OJ1196

1196 骨牌铺放

Time Limit : 1000 MS | Memory Limit : 32768 KB

Submits : 45 | Solved : 23

Description

在2×n的一个长方形方格中,用一个1× 2的骨牌铺满方格,输入n ,输出铺放方案的总数.例如n=3时,为2× 3方格,骨牌的铺放方案有三种,如下图:

Input

输入数据由多行组成,每行包含一个整数n,表示该测试实例的长方形方格的规格是2×n .

Output

对于每个测试实例,请输出铺放方案的总数,每个实例的输出占一行。

Sample Input

1
3
2

Sample Output

1
3
2

HINT

_int 64

Source

NBU OJ

看似复杂,分析可得是斐波那契数列;于是

代码:

 #include
       int main()
            {
                _int64 n,f1=1,f2=2,i,f;
				while(scanf("%I64d",&n)!=EOF)
				{ if(n==1)
				{	printf("%I64d\n",f1);
				}
				else if(n==2)
				{	printf("%I64d\n",f2);
				}
				else
				{	f1=1,f2=2;
                for(i=3;i<=n;i++)
                {   f=f1+f2;
                      f1=f2;f2=f;       
                    }
               
               printf("%I64d\n",f);
                }}
                return 0;
             
            }


你可能感兴趣的:(NBU,OJ)