【算法】DP

【题解】f[i][j][0]表示在i,j位置往下走的球数,f[i][j][1]表示在i,j位置往右走的球数,经过i,j的球若为-1则(num+1)/2往下,其余往右。+1类似。

转移见代码。

#include<stdio.h>
#include<cstring>
#include<cctype>
#include<algorithm>
using namespace std;
int read()
{
char c;int s=,t=;
while(!isdigit(c=getchar()))if(c=='-')t=-;
do{s=s*+c-'';}while(isdigit(c=getchar()));
return s*t;
}
const int maxn=;
int a[maxn][maxn],n,m;
long long f[maxn][maxn][],k;
int main()
{
scanf("%d%d%lld",&m,&n,&k);
f[][][]=k;
for(int i=;i<=n;i++)
for(int j=;j<=m;j++)
a[i][j]=read();
for(int i=;i<=n;i++)
for(int j=;j<=m;j++)
{
long long num=f[i-][j][]+f[i][j-][];
if(a[i][j]==-)f[i][j][]=(num+)/,f[i][j][]=num-(num+)/;
if(a[i][j]==)f[i][j][]=(num+)/,f[i][j][]=num-(num+)/;
if(a[i][j]==)f[i][j][]=f[i-][j][],f[i][j][]=f[i][j-][];
}
printf("%lld",f[n][m][]);
return ;
}

最新文章

  1. 三元运算与lambda表达式
  2. 1.js基础
  3. Yorhom浅谈:作为一名初中生,自学编程的点点滴滴 - Yorhom&#39;s Game Box
  4. android 签名被篡改(Keystore was tampered with, or password was incorrect)
  5. SSAS系列&mdash;&mdash;【07】多维数据(查询Cube)
  6. JavaWeb之JSP技术总结
  7. 管中窥豹——从对象的生命周期梳理JVM内存结构、GC调优、类加载、AOP编程及性能监控
  8. ajax请求返回数据,模板中的数据处理
  9. 201521123110 《Java程序设计》第4周学习总结
  10. SQL语句表名或者字段名和保留字冲突解决方法
  11. Scrum Meeting 博客
  12. 第三次Scrum编程冲刺
  13. find、which、whereis、locate和type之间的区别
  14. Map network drive遇到报错&ldquo;The network folder specified is currently mapped using a different user name and password&rdquo;,怎么办?
  15. 为springboot项目添加springboot-admin监控
  16. hdu3746 Cyclic Nacklace【nxt数组应用】【最小循环节】
  17. OpenGL中移动单位中的‘单位’指什么
  18. libgdx判断矩形重叠碰撞
  19. ds18b20驱动及应用程序
  20. GPUImage API文档之GLProgram类

热门文章

  1. IPReversePathFilter
  2. fuck the browser mode
  3. Ubuntu启用root账号登录系统
  4. C# Designer.cs
  5. 什么情况下需要检测预装Win8/8.1电脑内置激活密钥(即Win8/8.1 OEM key)?
  6. JavaScript 垃圾回收总结
  7. bzoj4031-小Z的房间
  8. BZOJ4027 HEOI2015兔子与樱花(贪心)
  9. [BZOJ4036] [HAOI2015]按位或
  10. [洛谷P2161][SHOI2009]会场预约