• HDOJ 2044


    此题的思路:

    首先这道题是一道递推题。坦白的说,这是我遇到的第一道递推题,在刚看到这道题脑中就要了一个思路,但是在最开始,我的思路是从前往后推,到后面我才意识到,这道题,应该从后往前推导,这样换中思路想一下,题一下子就变的十分简单;总的来说,这道题应该从后往前进行逆向的递推,假设我们需要从1到49,那么我们应从49开始想,能到49就只有48和47,所以f(49)=f(48)+f(47),所以得到了一个通项f(n)=f(n-1)+f(n-2)。

    AC代码:

    #include <iostream>
    #include <cstdio>
    #include  <cstring>
    #define Max 51
    using namespace std;
    int main(void)
    {
    	freopen("in.txt","r",stdin);
    	int N,a,b;
    	long long int c[Max];
    	cin>>N;
    	while(N--)
    	{
    		memset(c,0,sizeof(c));
    		cin>>a>>b;
    		int i;
    		if(a<b)
    		{
    			c[a]=1;
    			c[a+1]=1;
    			for(i=a+2;i<=b;i++)
    				c[i]=c[i-1]+c[i-2];
    		}
    		cout<<c[b]<<endl; 
    		
    	}
    	
    	fclose(stdin);
    	return 0;
    }
    

      

  • 相关阅读:
    月食照片
    宾得镜头大全与发展史
    月食照片
    关于镜头系数的疑问
    经验和教训
    常用正则表达式
    12月19日
    部長面談
    周六
    异度空间
  • 原文地址:https://www.cnblogs.com/phaLQ/p/9588342.html
Copyright © 2020-2023  润新知