hdu2045 涂色问题
来源:互联网 发布:网络唤醒电脑开机 编辑:程序博客网 时间:2024/06/10 07:36
ac代码如下
对于dp问题,先找到问题之中变量在哪里,然后定义几维数组,再初始化数组,然后循环 得到最终的答案。
#include <stdio.h>
#include <stdlib.h>
#include<string.h>
int dp[3][3][52];
int main()
{
int n;
while(~scanf("%d",&n))
{
memset(dp,0,sizeof(dp));
dp[0][0][1]=1;
dp[1][1][1]=1;
dp[2][2][1]=1;
int i;
#include <stdlib.h>
#include<string.h>
int dp[3][3][52];
int main()
{
int n;
while(~scanf("%d",&n))
{
memset(dp,0,sizeof(dp));
dp[0][0][1]=1;
dp[1][1][1]=1;
dp[2][2][1]=1;
int i;
if(n==1) printf("3\n");
else
{
for(i=2;i<=n;i++)
{
dp[0][0][i]=dp[0][1][i-1]+dp[0][2][i-1];//三维 表示 初始颜色 此元素颜色 此元素的序号
dp[0][1][i]=dp[0][0][i-1]+dp[0][2][i-1];
dp[0][2][i]=dp[0][0][i-1]+dp[0][1][i-1];
else
{
for(i=2;i<=n;i++)
{
dp[0][0][i]=dp[0][1][i-1]+dp[0][2][i-1];//三维 表示 初始颜色 此元素颜色 此元素的序号
dp[0][1][i]=dp[0][0][i-1]+dp[0][2][i-1];
dp[0][2][i]=dp[0][0][i-1]+dp[0][1][i-1];
dp[1][0][i]=dp[1][1][i-1]+dp[1][2][i-1];
dp[1][1][i]=dp[1][0][i-1]+dp[1][2][i-1];
dp[1][2][i]=dp[1][0][i-1]+dp[1][1][i-1];
dp[1][1][i]=dp[1][0][i-1]+dp[1][2][i-1];
dp[1][2][i]=dp[1][0][i-1]+dp[1][1][i-1];
dp[2][0][i]=dp[2][1][i-1]+dp[2][2][i-1];
dp[2][1][i]=dp[2][0][i-1]+dp[2][2][i-1];
dp[2][2][i]=dp[2][0][i-1]+dp[2][1][i-1];
}
dp[2][1][i]=dp[2][0][i-1]+dp[2][2][i-1];
dp[2][2][i]=dp[2][0][i-1]+dp[2][1][i-1];
}
printf("%d\n",dp[0][1][n]+dp[0][2][n]+dp[1][0][n]+dp[1][2][n]+dp[2][0][n]+dp[2][1][n]);
}
}
return 0;
}
}
}
return 0;
}
0 0
- HDU2045涂色问题
- hdu2045 涂色问题
- 涂色问题
- 涂色问题
- hdu2045
- HDU2045
- hdu2045
- 坐标系涂色问题
- 地图涂色问题
- J涂色问题
- HDU2045 RPG涂色难题 其实就是推公式的水题
- 概率(5)---涂色问题
- 14.涂色问题 (15分)
- poj2777线段树+涂色问题
- 4立方体涂色的问题思考
- pku 1129 Channel Allocation dfs 涂色问题
- 普通涂色问题 组合数学-Polya定理
- 【POJ】1129【涂色问题】【Channel Allocation】
- maven基础知识
- 『微信小程序』优秀教程、轮子、开源项目 资源汇总,长期维护更新中... ... ...
- 一些学习资料
- 使用python爬取《长城》豆瓣影评
- HTML表格
- hdu2045 涂色问题
- Python 图片转字符画 学习笔记
- Python爬虫爬取NBA数据
- Android官方DialogFragemnt
- HTML列表、区块
- 重温《JAVA编程思想》----2017.1.7 初始化与清理
- 随笔第一篇
- eclipse导入jdk中资源jar包
- 217. Contains Duplicate