炮(cannon)
【题目描述】
众所周知,双炮叠叠将是中国象棋中很厉害的一招必杀技。炮吃子时必须
隔一个棋子跳吃,即俗称“炮打隔子”。 炮跟炮显然不能在一起打起来,于是rly
一天借来了许多许多的炮在棋盘上摆了起来……他想知道,在N×M的矩形方格
中摆若干炮(可以不摆)使其互不吃到的情况下方案数有几种。
棋子都是相同的。
【输入说明】
一行,两个正整数N和M。
【输出说明】
一行,输出方案数mod 999983。
【样例输入】
1 3
【样例输出】
7
【数据范围】
对于40%的数据,N<=4,M<=4
对于70%的数据,N<=100,M<=8
对于100%的数据,N<=100,M<=100

 /*
动态规划,状态的表示很巧妙
f[i][j][k]表示放了前i行,有j列放了1个,有k列放了2个,那么就有m-i-j列没放的方案数。然后完成转移。
*/
#include<cstdio>
#include<iostream>
#define mod 999983LL
#define N 110
using namespace std;
long long f[N][N][N],n,m;
int main()
{
cin>>n>>m;
f[][][]=;
for(long long i=;i<=n;i++)
for(long long j=;j<=m;j++)
for(long long k=;j+k<=m;k++)
{
f[i][j][k]=f[i-][j][k];f[i][j][k]%=mod;//不放
if(j>=)f[i][j][k]+=f[i-][j-][k]*(m-j-k+);f[i][j][k]%=mod;//空处放1个
if(k>=)f[i][j][k]+=f[i-][j+][k-]*(j+);f[i][j][k]%=mod;//1个处放1个
if(j>=)f[i][j][k]+=f[i-][j-][k]*(m-j-k+)*(m-j-k+)/;f[i][j][k]%=mod;//空处放2个
if(k>=)f[i][j][k]+=f[i-][j+][k-]*(j+)*(j+)/;f[i][j][k]%=mod;//1处放2个
if(k>=)f[i][j][k]+=f[i-][j][k-]*j*(m-j-k+);f[i][j][k]%=mod;//空处和1个处
}
long long ans=;
for(long long j=;j<=m;j++)
for(long long k=;j+k<=m;k++)
ans+=f[n][j][k],ans%=mod;
printf("%d",ans);
return ;
}

最新文章

  1. [ASP.NET MVC 小牛之路]16 - Model 验证
  2. MySQL学习笔记十二:数据备份与恢复
  3. Java基础之如何解决斗地主问题
  4. Entity Framework 实体框架的形成之旅--Code First的框架设计(5)
  5. ReCap 360 photo照片建模技术的又一个例子
  6. cvte 面试实习经历
  7. Nodepad plus plus--打开时显示“This software need elevation.&quot;&quot;Exception 1002&quot;
  8. IE=EmulateIE8和IE=IE8的区别
  9. C++实现数字媒体二维图像变换
  10. Linux命令行程序和内建指令
  11. iOS 制作 framework 教程
  12. JS中有关对象的继承以及实例化、浅拷贝深拷贝的奥秘
  13. Java实现Map集合二级联动
  14. org.springframework.web.util.WebUtils.isSameOrigin(WebUtils.java:816)
  15. 代码重定位和位置无关码——运行于nor flash
  16. 007-Redi-命令-脚本命令、链接命令、服务器命令、事务、HyperLogLog
  17. pig和mysql脚本对比
  18. ubuntu账户密码正确但是登录不进去系统
  19. 域名可以解析(ping域名可以获取正确ip),服务器本地telnet 域名+端口 无法连接,通过建立本地虚拟域名指定的方法解决该问题
  20. robotframwork接口测试(四)—其他库的安装

热门文章

  1. springmvc+maven搭建web项目
  2. 利用python进行数据分析3_Pandas的数据结构
  3. 爬虫_python3_requests_2
  4. ios retain copy 以及copy协议
  5. (12)zabbix agent 类型所有key
  6. idea 插件推荐 &amp; 代码样式安装
  7. docker系列之镜像服务器
  8. docker系列之基础命令-2
  9. docker系列之安装配置
  10. JavaScript正则表达式-反向引用