hdu 2045 DP
来源:互联网 发布:知乎精华 mobi 编辑:程序博客网 时间:2024/06/04 08:05
初级DP。
网上还有更精简的代码,只用一维数组。 参考:http://hi.baidu.com/zihuacs/item/cd160b84ef1c782d100ef3ad
#include "stdio.h"#include "string.h"void main(){int n, i;__int64 dp[51][3][3]; //分别表示:第i个方块 3种颜色 序列的第一个方块的颜色freopen("in.txt", "r", stdin);while(scanf("%d", &n)!=EOF){memset(dp, 0, sizeof(dp));dp[1][0][0] = 1;dp[1][1][1] = 1;dp[1][2][2] = 1;for(i=2; i<=n; i++){dp[i][0][0] = dp[i-1][1][0] + dp[i-1][2][0]; //第i个方块的第0种颜色且起始方块颜色为0的个数,等于第i-1个方块的第1种……dp[i][0][1] = dp[i-1][1][1] + dp[i-1][2][1];dp[i][0][2] = dp[i-1][1][2] + dp[i-1][2][2];dp[i][1][0] = dp[i-1][0][0] + dp[i-1][2][0];dp[i][1][1] = dp[i-1][0][1] + dp[i-1][2][1];dp[i][1][2] = dp[i-1][0][2] + dp[i-1][2][2];dp[i][2][0] = dp[i-1][0][0] + dp[i-1][1][0];dp[i][2][1] = dp[i-1][0][1] + dp[i-1][1][1];dp[i][2][2] = dp[i-1][0][2] + dp[i-1][1][2];}if(n==1)printf("3\n");elseprintf("%I64d\n", dp[n][0][1]+dp[n][0][2] + dp[n][1][0]+dp[n][1][2] + dp[n][2][0]+dp[n][2][1]);}}
- hdu 2045 DP
- HDU DP
- DP? HDU
- DP? HDU
- DP? HDU
- 【dp】HDU
- 【dp】HDU
- 【dp】 HDU
- DP? HDU
- hdu 2045 LELE的RPG难题 #DP
- HDU 1003 && HDU 1231 DP
- hdu 1058 DP
- HDU 1069 dp
- HDU 1024(DP)
- hdu 1257 dp+贪心
- HDU 1087(DP)
- HDU 1506(DP)
- hdu 2844 DP 背包
- 红外遥控相关知识
- 数据结构1-简单单链表的创建
- 帝国cms自定义页面模板是指自定义页面(单页)使用的模板
- 谷歌“平板电脑”对市场的冲击
- oracle实例囚笼(Instance Caging)
- hdu 2045 DP
- GPS 入门 1 —— 基础知识
- linux系统快速启动十大秘诀
- 2012年7月4日 题:创建一个 10节点 内容随机但不重复的 链表
- oracle 中的常用exception
- nand的几个名词 oob bbt ecc
- CVF转换到IVF的bug调试
- android截屏代码
- Linux系统启动时间优化方案