博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
hdu-1143(简单dp)
阅读量:4315 次
发布时间:2019-06-06

本文共 727 字,大约阅读时间需要 2 分钟。

题目链接:

思路:利用前一个状态找到本次状态需要的次数,就是递推。

建立一个二维数组dp[i][j] ,i表示行,j表示多余的格子。

可以分为三种状态dp[i][0], dp[i][1] ,dp[i][2];

 迭代公式是:

dp[i][0]=dp[i-2][0]+dp[i-1][1]+dp[i-2][2]; dp[i][1]=dp[i-1][2]; dp[i][2]=dp[i][0]+dp[i-1][1];
#include
#include
#include
using namespace std;int dp[50][3]={
0};int main(void){ int n,i,j; dp[0][0]=1; dp[1][1]=1; dp[0][2]=1; for(i=2;i<=30;i++) { dp[i][0]=dp[i-2][0]+dp[i-1][1]+dp[i-2][2]; dp[i][1]=dp[i-1][2]; dp[i][2]=dp[i][0]+dp[i-1][1]; } while(~scanf("%d",&n)&&n>=0) { if(n%2) printf("0\n"); else printf("%d\n",dp[n][0]); } return 0;}

 

转载于:https://www.cnblogs.com/2018zxy/p/9911355.html

你可能感兴趣的文章
Swift - 点击箭头旋转
查看>>
git配置
查看>>
【hexo】01安装
查看>>
CI框架源码学习笔记2——Common.php
查看>>
005---书籍添加和编辑的提交数据
查看>>
使用case语句给字体改变颜色
查看>>
JAVA基础-多线程
查看>>
面试题5:字符串替换空格
查看>>
JSP九大内置对象及四个作用域
查看>>
ConnectionString 属性尚未初始化
查看>>
数据结构-栈 C和C++的实现
查看>>
MySQL基本命令和常用数据库对象
查看>>
poj 1222 EXTENDED LIGHTS OUT(位运算+枚举)
查看>>
进程和线程概念及原理
查看>>
Lucene、ES好文章
查看>>
android 生命周期
查看>>
jquery--this
查看>>
MySQL 5.1参考手册
查看>>
TensorFlow安装流程(GPU加速)
查看>>
OpenStack的容器服务体验
查看>>