zoukankan      html  css  js  c++  java
  • 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;
    }
    

      

  • 相关阅读:
    leetcode
    面试知识点
    关于flock文件锁的阻塞与非阻塞
    cetos7 安装telnet
    github 获取 token
    windows安装composer
    编码问题
    RabbitMQ 关键词解释
    windows下安装rabbitmq以及php扩展amqp
    windows下安装oracle客户端和php扩展
  • 原文地址:https://www.cnblogs.com/phaLQ/p/9588342.html
Copyright © 2011-2022 走看看