为了方便打印路径,考虑从下往上转移。dp[i][j][S]表示在i行j列总和为S的方案,

dp[i][j][S] = dp[i+1][left][S-x]+dp[i+1][right][S-x]

方案O(2^2*n-1),结果要用long long保存。

#include<bits/stdc++.h>
using namespace std; typedef long long ll;
const int maxn = ,maxs = ;
int hg[maxn<<][maxn];
ll dp[maxn<<][maxn][maxs]; //#define LOCAL
int main()
{
#ifdef LOCAL
freopen("in.txt","r",stdin);
#endif
int n, S;
while(scanf("%d%d", &n, &S) ,n){
int rc = ;
for(int i = n; i > ; i--){
int *h = hg[rc++];
for(int j = ; j <= i; j++){
scanf("%d",h+j);
}
}
for(int i = ; i <= n; i++){
int *h = hg[rc++];
for(int j = ; j <= i; j++){
scanf("%d",h+j);
}
}
rc--;
memset(dp,,sizeof(dp));
for(int j = ; j <= n; j++){
dp[rc][j][hg[rc][j]] = ;
}
while(rc>=n){
for(int j = , mj = (rc-- + ) - n; j <= mj; j++){
int x = hg[rc][j];
ll *f = dp[rc][j];
for(int s = S-x; s >= ; s--){
f[s+x] = dp[rc+][j][s]+dp[rc+][j+][s];
}
}
}
for(int i = ; rc--,i <= n; i++){
for(int j = ; j <= i; j++){
int x = hg[rc][j];
ll *f = dp[rc][j];
for(int s = S-x; s >= ; s--){
f[s+x] = dp[rc+][j-][s]+dp[rc+][j][s];
}
}
}
ll ans = ;
int index = ;
for(int j = ; j <= n; j++){
if(dp[][j][S]){
ans += dp[][j][S];
if(!index) index = j;
}
}
printf("%lld\n",ans);
if(ans){
int j = index, s = S ;
printf("%d ",j-);
rc = n;
for(int i = ; i < rc; i++){
s -= hg[i-][j];
if(dp[i][j-][s]){
putchar('L');
j--;
}else {
putchar('R');
} }
rc = *n-;
for(int i = n; i < rc; i++){
s -= hg[i-][j];
if(dp[i][j][s]){
putchar('L');
}else {
j++;
putchar('R');
}
}
}
puts("");
}
return ;
}

最新文章

  1. 仿QQ大战—界面篇
  2. 用字体在网页中画icon小图标
  3. 加密算法 - RSA
  4. J2EE 读取文件路径
  5. VIm变成sublime (转)
  6. 1、 Linux中的root用户切换(转载)
  7. c#基础语句——分支语句
  8. 了解数组中的队列方法,DOM中节点的一些操作
  9. 各大HotFix热补丁方案分析和比较
  10. C# 操作Excel数据透视表
  11. 【Static Program Analysis - Chapter 1】 Introduction
  12. 重开ES6
  13. python接口测试-登录
  14. android抽屉效果
  15. Guava 的EventBus示例代码(简单笔记,后期补充)
  16. WebApplication与WebSite区别
  17. Kotlin尝试
  18. Oracle 字符集的查看和修改 --转载
  19. 让UpdatePanel支持文件上传(2):服务器端组件 .
  20. php7安装Memcached扩展

热门文章

  1. 清北刷题冲刺 10-28 a.m
  2. Mol Cell Proteomics. |赵赟| 全面地分析个人尿蛋白质组学的变化揭示出不同的性别变化
  3. html标签的补充—— b,strong标签
  4. 事务隔离实现并发控制:MySQL系列之十
  5. iOS开发 - CocoaPods远程私有库从0到1
  6. Zabbix之CentOS7.3下yum安装Zabbix3.5
  7. Angular学习笔记之组件之间的交互
  8. android SDK manager 无法获取更新版本的解决办法
  9. BeanFilterUtil
  10. (转)认识 Linux 文件系统