紫书 例题 10-15 UVa 1638(递推)
2024-10-01 14:07:13
从大到小安排杆子
分三种情况
(1)插到最左边,那么左边看到了杆子会多一个
(2)插到最右边,那么右边看到了杆子会多一个
(3)插到中间边,那么不影响左边和右边看到的杆子数
具体看代码
#include<cstdio>
#define REP(i, a, b) for(int i = (a); i < (b); i++)
using namespace std;
const int MAXN = 21;
long long d[MAXN][MAXN][MAXN];
int main()
{
d[1][1][1] = 1;
REP(i, 2, MAXN)
REP(j, 1, i + 1)
REP(k, 1, i + 1)
{
d[i][j][k] = d[i-1][j][k] * (i - 2);
if(j > 1) d[i][j][k] += d[i-1][j-1][k];
if(k > 1) d[i][j][k] += d[i-1][j][k-1];
}
int T, n, l, r;
scanf("%d", &T);
while(T--)
{
scanf("%d%d%d", &n, &l, &r);
printf("%lld\n", d[n][l][r]);
}
return 0;
}
最新文章
- CSS 实现打字效果
- 牛B的调试工具:OzCode
- static变量引起的问题,List数据覆盖
- .Net Core 1.0.0 RC2安装及示例教程
- java攻城狮之路(Android篇)--ListView与ContentProvider
- 【JSP】JSTL使用core标签总结(不断更新中)
- ubuntu 常用软件配置
- SQL Abstraction and Object Hydration
- 浅谈初次搭建nginx+php+mysql遇到的问题
- JSP脚本元素、指令元素、动作元素
- c# redis 操作类库推荐:StackExchange.Redis.Extensions
- 从JS的深拷贝与浅拷贝到jq的$.extend()方法
- java的三大特征:封装,继承和多态
- 大学生对vivo手机的看法
- 与我们息息相关的internet服务(3)---电子邮件服务
- 第42章:MongoDB-集群--Sharding(分片)--单机的搭建
- 记一次Spring的aop代理Mybatis的DAO所遇到的问题
- spring事务——try{...}catch{...}中事务不回滚的几种处理方式
- ZT android -- 蓝牙 bluetooth (二) 打开蓝牙
- Java Callable 与 Future