hdu 4832 dp ***
2015-07-28 16:40
204 查看
dp1[i][j]表示只走x轴走j步到i位置有多少总走法,dp2同,dp方程就很好写
wa了无数发,发现MOD写在INF上了
wa了无数发,发现MOD写在INF上了
#include<cstdio> #include<iostream> #include<algorithm> #include<cstring> #include<cmath> #include<queue> #include<map> using namespace std; #define MOD 9999991 const int INF=9999991; const double eps=1e-5; typedef long long ll; #define cl(a) memset(a,0,sizeof(a)) #define ts printf("*****\n"); const int MAXN=2050; int n,m,tt; int x,y,k; int c[1050][1050]; int sum1[1050],sum2[1050]; int dp1[MAXN][1050],dp2[MAXN][1050]; void add(int &a,int b) { a=(a+b)%MOD; } void fun() { cl(dp1),cl(dp2); c[0][0]=c[1][0]=c[1][1]=1; for(int i=2;i<=1010;i++) { c[i][0]=1; for(int j=1;j<i;j++) { c[i][j]=c[i-1][j]+c[i-1][j-1]; c[i][j]%=MOD; } c[i][i]=1; } dp1[x][0]=1; for(int i=1;i<=k;i++) { for(int j=1;j<=n;j++) { if(j+1<=n) add(dp1[j][i],dp1[j+1][i-1]); if(j+2<=n) add(dp1[j][i],dp1[j+2][i-1]); if(j-1>=1) add(dp1[j][i],dp1[j-1][i-1]); if(j-2>=1) add(dp1[j][i],dp1[j-2][i-1]); } } dp2[y][0]=1; for(int i=1;i<=k;i++) { for(int j=1;j<=m;j++) { if(j+1<=m) add(dp2[j][i],dp2[j+1][i-1]); if(j+2<=m) add(dp2[j][i],dp2[j+2][i-1]); if(j-1>=1) add(dp2[j][i],dp2[j-1][i-1]); if(j-2>=1) add(dp2[j][i],dp2[j-2][i-1]); } } cl(sum1),cl(sum2); for(int i=0;i<=k;i++) { for(int j=1;j<=n;j++) { add(sum1[i],dp1[j][i]); } } for(int i=0;i<=k;i++) { for(int j=1;j<=m;j++) { add(sum2[i],dp2[j][i]); } } } int main() { int i,j; #ifndef ONLINE_JUDGE freopen("1.in","r",stdin); #endif int ca=1; scanf("%d",&tt); while(tt--) { scanf("%d%d%d%d%d",&n,&m,&k,&x,&y); fun(); printf("Case #%d:\n",ca++); ll sum=0; for(i=0;i<=k;i++) { sum += (long long)c[k][i]*sum1[i]%MOD*sum2[k-i]%MOD; sum %= MOD; } printf("%d\n",(int)sum); } }
相关文章推荐
- csharp: Importing or Exporting Data from Worksheets using aspose cell
- 网路布局GridLayout学习笔记
- Apache利用JDK自身keytool实现HTTPS
- SSH整合抛异常:action未发现
- linux下调试python程序
- LeetCode题解——Merge k Sorted Lists
- UVa 10820 - Send a Table(欧拉函数)
- 如何利用自己的电脑做服务器发布tomcat的WEB项目供外网访问
- 27个提升效率的iOS开源库推荐
- HDU_1501_ Combining The Strings
- [题解]星球大战
- C#骏鹏自动售货机接口
- hdoj 4006 The kth great number【优先队列】
- hdu 1089 A+B for Input-Output Practice (I)
- 给source insight添加.cc的C++文件后缀识别
- CC2541 BLE源码阅读知识积累之外设从机Peripheral工作模式
- ACboy needs your help-分组背包模板题
- java获得linux环境的硬盘、内存、cpu使用率
- html5之使用地理定位
- 经典算法题每日演练——第二十三题 鸡尾酒排序