博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
洛谷 P1057 传球游戏
阅读量:4313 次
发布时间:2019-06-06

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

嗯...

 

题目链接:

 

很明显,这是一道DP题目,其中的状态与阶段都很明显,所以很明显地得出动态转移方程:

f[i][j] = f[i - 1][j - 1] + f[i - 1][j + 1];

 

这个动态转移方程中的第一维表示阶段,第二维表示状态...而且这一题中不要忘记初始化。

将0个人传1次初始化为1...

 

AC代码:

1 #include
2 #include
3 4 using namespace std; 5 6 int n, m; 7 int f[35][35]; 8 9 int main(){10 scanf("%d%d", &n, &m);11 f[0][1] = 1;//初始化 12 for(int i = 1; i <= m; i++){13 for(int j = 1; j <= n; j++){14 if(j == 1)15 f[i][1] = f[i - 1][2] + f[i - 1][n];16 else if(j == n)17 f[i][n] = f[i - 1][n - 1] + f[i - 1][1];18 else19 f[i][j] = f[i - 1][j - 1] + f[i - 1][j + 1];20 }21 }22 printf("%d\n", f[m][1]);23 return 0;24 }
AC代码

 

转载于:https://www.cnblogs.com/New-ljx/p/11230396.html

你可能感兴趣的文章
Visual Studio 2012使用水晶报表Crystal Report
查看>>
你不知道的 页面编码,浏览器选择编码,get,post各种乱码由来
查看>>
SQLSERVER PRINT语句的换行
查看>>
Windows 8.1 应用开发 – 触控操作
查看>>
PowerDesigner创建物理模型
查看>>
使用Git、Git GUI和TortoiseGit
查看>>
vue---canvas实现二维码和图片合成的海报
查看>>
检查项目里是否有IDFA的方法
查看>>
64位系统使用Access 数据库文件的彻底解决方法
查看>>
注释,字符串
查看>>
性能瓶颈
查看>>
cmd 导入数据库
查看>>
Makefile书写注意事项--个人择记(一)
查看>>
文件转码重写到其他文件
查看>>
场景3 Data Management
查看>>
Dubbo入门---搭建一个最简单的Demo框架(转)
查看>>
树结构练习——排序二叉树的中序遍历
查看>>
AC自动机模板
查看>>
python 基本语法
查看>>
Oracle JDBC hang on
查看>>