【基础编程】HDOJ2045不容易系列之(3)—— LELE的RPG难题
来源:互联网 发布:有线监控怎么连接网络 编辑:程序博客网 时间:2024/05/17 09:41
学习编程的唯一途径是通过大量的编程,编程,再编程。而在OJ上做题来提高自己的编程能力以及自己的思维能力的方法就是通过自己的思考,分析,编程,试错,再思考,再分析,再试错这样一个不断循环的过程,最后将问题解决,对于那些是在高出自己能力太多的题目就去研究这个题目所涉及的知识点,然后还是要回归到上面的这个过程中。只有通过大量这样的训练,自己的编程能力和思维能力才会得到提升。算法与数据结构是基石,因此只要从事软件开发行业这个能力都是必不可少的。
这题目拿到之后想了很久,因为我觉得虽然一时想不出来也没关系,就将它放在脑袋中慢慢分析就好了,当然有很多时候分析分析就全部乱了,所以还是要拿纸笔来记录一下,画画图才好找到规律。
其实这个题目只要看第1,n-1,n个就能找到规律,当第n-1个与第一个颜色相同时,第n个就有2种填凃方法;如果第n-1个与第一个颜色不相同时,只有一种填凃方法。当然这需要注意一下n的范围。
#include<stdio.h>long long a[100] = {0};long long f(int n){ if(n == 1) { a[n] = 3; return 3; } else if(n == 2) { a[n] = 6; return 6; } else if(n ==3) { a[n] = 6; return 6; } else { if(a[n-1] && a[n-2]) return a[n-1] + 2*a[n-2]; else { a[n] = f(n-1)+2*f(n-2); return f(n-1)+2*f(n-2); } }}int main(void){ int n; while(scanf("%d",&n) != EOF) { printf("%lld\n",f(n)); } return 0;}
0 0
- 【基础编程】HDOJ2045不容易系列之(3)—— LELE的RPG难题
- hdoj2045 不容易系列之(3)—— LELE的RPG难题
- hdoj2045 不容易系列之(3)—— LELE的RPG难题
- hdoj2045不容易系列之(3)—— LELE的RPG难题
- HDOJ2045不容易系列之(3)—— LELE的RPG难题(递推)
- hdoj2045不容易系列之(3)—— LELE的RPG难题<递推>
- HDOJ2045 不容易系列之(3)—— LELE的RPG难题
- 不容易系列之(3)—— LELE的RPG难题
- 不容易系列之(3)—— LELE的RPG难题
- 不容易系列之(3)—— LELE的RPG难题
- 不容易系列之(3)—— LELE的RPG难题
- 不容易系列之(3)—— LELE的RPG难题
- 不容易系列之(3)—— LELE的RPG难题
- 不容易系列之(3)—— LELE的RPG难题
- 不容易系列之(3)—— LELE的RPG难题
- 不容易系列之(3)—— LELE的RPG难题
- 不容易系列之(3)—— LELE的RPG难题
- 不容易系列之(3)—— LELE的RPG难题
- android学习语法用法知识点
- 函数调用的四种模式以及this的指向浅析
- C++ 简单的程序--‘hello world’
- Php复习(4)
- conf/masters中masters的内容探究
- 【基础编程】HDOJ2045不容易系列之(3)—— LELE的RPG难题
- js常用正则表达式
- [已解决问题]:“c:\java\03"不是内部或外部命令,也不是可运行的程序或批处理文件。
- QT 5.7 for iOS Xcode 8 Project ERROR: Xcode not set up properly. You may need to confirm the license
- 面试基础知识准备
- 151. Reverse Words in a String 字符串
- byte
- LeetCode 412. Fizz Buzz C语言
- windows 下面的 MySQL --最基本的增删改查