HDU 2045 不容易系列之(3)—— LELE的RPG难题 (组合数学)
来源:互联网 发布:昂克赛拉原厂轮毂数据 编辑:程序博客网 时间:2024/05/16 12:16
不容易系列之(3)—— LELE的RPG难题
http://acm.hdu.edu.cn/showproblem.php?pid=2045
Memory Limit: 65536/32768 K (Java/Others)
Problem Description
人称“AC女之杀手”的超级偶像LELE最近忽然玩起了深沉,这可急坏了众多“Cole”(LELE的粉丝,即"可乐"),经过多方打探,某资深Cole终于知道了原因,原来,LELE最近研究起了著名的RPG难题:
有排成一行的n个方格,用红(Red)、粉(Pink)、绿(Green)三色涂每个格子,每格涂一色,要求任何相邻的方格不能同色,且首尾两格也不同色.求全部的满足要求的涂法.
以上就是著名的RPG难题.
如果你是Cole,我想你一定会想尽办法帮助LELE解决这个问题的;如果不是,看在众多漂亮的痛不欲生的Cole女的面子上,你也不会袖手旁观吧?
有排成一行的n个方格,用红(Red)、粉(Pink)、绿(Green)三色涂每个格子,每格涂一色,要求任何相邻的方格不能同色,且首尾两格也不同色.求全部的满足要求的涂法.
以上就是著名的RPG难题.
如果你是Cole,我想你一定会想尽办法帮助LELE解决这个问题的;如果不是,看在众多漂亮的痛不欲生的Cole女的面子上,你也不会袖手旁观吧?
Input
输入数据包含多个测试实例,每个测试实例占一行,由一个整数N组成,(0<n<=50)。
Output
对于每个测试实例,请输出全部的满足要求的涂法,每个实例的输出占一行。
Sample Input
12
Sample Output
36
递推:f(n)=f(n-1)+2*f(n-2)
证明:考虑长为n的串。若前n-1位组成的串合法,则由于首尾不同,再添加一位时,只有1种颜色可选;若前n-1位组成的串不合法(首尾相同),那么前n-2位组成的串必须合法(因为最终要组成的n位是合法的)。此时第n位有2种颜色可选。故f(n)=f(n-1)+2*f(n-2)。
边界条件:f(1)=3,f(2)=f(3)=6。
PS:可用特征方程得出n>3时f(n)的封闭形式f(n)=2^n+2*(-1)^n。
完整代码:
/*15ms,200KB*/#include<cstdio>int main(){__int64 n, ans;while (~scanf("%lld", &n)){if (n == 1) ans = 3;else if (n < 4) ans = 6;else ans = ((__int64)1 << n) + (n & 1 ? -2 : 2);printf("%I64d\n", ans);}return 0;}
- HDU 2045 不容易系列之(3)—— LELE的RPG难题 (组合数学)
- HDU 2045 不容易系列之(3)—— LELE的RPG难题(最简洁代码没有之一,数学大法好)
- HDU——2045——( 不容易系列之(3)—— LELE的RPG难题 )
- HDU—— 2045 不容易系列之(3)—— LELE的RPG难题
- HDU 2045 不容易系列之(3)—— LELE的RPG难题
- hdu 2045 不容易系列之(3)—— LELE的RPG难题(递推)
- hdu 2045 不容易系列之(3)—— LELE的RPG难题
- hdu 2045 不容易系列之(3)—— LELE的RPG难题
- Hdu 2045 - 不容易系列之(3)—— LELE的RPG难题
- HDU 2045 不容易系列之(3)—— LELE的RPG难题 找规律
- hdu 2045 不容易系列之(3)—— LELE的RPG难题
- hdu 2045 不容易系列之(3)—— LELE的RPG难题
- hdu 2045 - 不容易系列之(3)—— LELE的RPG难题
- HDU-2045不容易系列之(3)—— LELE的RPG难题
- HDU 2045 不容易系列之(3)—— LELE的RPG难题
- hdu 2045 不容易系列之(3)—— LELE的RPG难题
- HDU 2045 不容易系列之(3)—— LELE的RPG难题
- HDU 2045 - 不容易系列之(3)—— LELE的RPG难题
- Linux下统计文件行数 语法:wc [选项] 文件… 说明:该命令统计给定文件中的字节数、字数、行数。如果没有给出文件名,则从标准输入读取。wc同时也给出所有 指定文件的总统计数。字是由空格字符
- (使用STL自带的排序函数7.3.4)POJ 2371 Questions and answers(sort()函数的使用)
- openJDK源码分析
- ubuntu 安装jdk
- 素数打表(三种筛选法)
- HDU 2045 不容易系列之(3)—— LELE的RPG难题 (组合数学)
- redhat Linux 安装wireshark
- 我为什么要进国企
- Linux 常用文本命令 总结
- 直接法(高斯)求解线性方程组
- php中不能加载php_mysql.dll、php_mysqli.dll的解决方法
- winform窗体间传值
- 在linux下eclipse中运行hadoop自带的WordCount例子出现的两个错误
- 上班族20~50岁职业生涯规划术