UVA 10564 十 Paths through the Hourglass
Time Limit:3000MS Memory Limit:0KB 64bit IO Format:%lld & %llu
#include <stdio.h>
#include <string.h> int n,s;
long long dp[][][];
int a[][]; int d(int x,int y,int m)
{
if(x>=*n-)
return ;
int v=a[x][y];
if(dp[x+][y][m-v]>)
{
printf("L");
d(x+,y,m-v);
}
else
{
printf("R");
d(x+,y+,m-v);
}
return ;
} int main()
{
int i,j,k;
while(scanf("%d %d",&n,&s)!=EOF)
{
if(n== && s==)
break;
memset(dp,,sizeof(dp));
for(i=;i<=n;i++)
{
for(j=i;j<=n;j++)
{
scanf("%d",&a[i][j]);
}
}
for(i=n+;i<=*n-;i++)
{
for(j=n;j<=i;j++)
{
scanf("%d",&a[i][j]);
}
} for(i=n;i<=*n-;i++)
{
int v=a[*n-][i];
dp[*n-][i][v]=;
}
for(i=n*-;i>n;i--)
{
for(j=n;j<=i;j++)
{
int v=a[i][j];
for(k=v;k<=s;k++)
{
dp[i][j][k]=dp[i+][j][k-v]+dp[i+][j+][k-v];
}
}
}
for(i=n;i>=;i--)
{
for(j=i;j<=n;j++)
{
int v=a[i][j];
for(k=v;k<=s;k++)
{
dp[i][j][k]=dp[i+][j][k-v]+dp[i+][j+][k-v];
}
}
} long long cnt=;
for(i=;i<=n;i++)
{
cnt=cnt+dp[][i][s];
}
printf("%lld\n",cnt);
for(i=;i<=n;i++)
{
if(dp[][i][s]>)
{
printf("%d ",i-);
d(,i,s);
break;
}
}
printf("\n");
}
return ;
}
UVA 10564 十 Paths through the Hourglass的更多相关文章
- UVa 10564 DP Paths through the Hourglass
从下往上DP,d(i, j, k)表示第(i, j)个格子走到底和为k的路径条数. 至于字典序最小,DP的时候记录一下路径就好. #include <cstdio> #include &l ...
- UVA 10564 Paths through the Hourglass[DP 打印]
UVA - 10564 Paths through the Hourglass 题意: 要求从第一层走到最下面一层,只能往左下或右下走 问有多少条路径之和刚好等于S? 如果有的话,输出字典序最小的路径 ...
- 01背包(类) UVA 10564 Paths through the Hourglass
题目传送门 /* 01背包(类):dp[i][j][k] 表示从(i, j)出发的和为k的方案数,那么cnt = sum (dp[1][i][s]) 状态转移方程:dp[i][j][k] = dp[i ...
- uva 10564
Problem FPaths through the HourglassInput: Standard Input Output: Standard Output Time Limit: 2 Seco ...
- UVA 10564 - Paths through the Hourglass (dp)
本文出自 http://blog.csdn.net/shuangde800 题目传送门 题意: 给一个相上面的图.要求从第一层走到最下面一层,只能往左下或右下走,经过的数字之和为sum. 问有多少 ...
- UVA 10564 Paths through the Hourglass(背包)
为了方便打印路径,考虑从下往上转移.dp[i][j][S]表示在i行j列总和为S的方案, dp[i][j][S] = dp[i+1][left][S-x]+dp[i+1][right][S-x] 方案 ...
- UVA - 10564 Paths through the Hourglass
传送门:https://vjudge.net/problem/UVA-10564 题目大意:给你一张形如沙漏一般的图,每一个格子有一个权值,问你有多少种方案可以从第一行走到最后一行,并且输出起点最靠前 ...
- UVA 10564_ Paths through the Hourglass
题意: 由0-9的数字组成一个形如沙漏的图形,要求从第一行开始沿左下或者右下到达最后一行,问有多少种不同的路径,使最后路径上的整数之和为给定的某个数. 分析: 简单计数dp,从最后一行开始,设dp[i ...
- UVA 10163 十六 Storage Keepers
十六 Storage Keepers Time Limit:3000MS Memory Limit:0KB 64bit IO Format:%lld & %llu Submit ...
随机推荐
- 夺命雷公狗—angularjs—1—三种数据版定方式
我们在实际开发中几乎都是脱离不掉数据绑定方式的,绑定方法如下所示: <!DOCTYPE html> <html lang="en" ng-app> < ...
- full_case & parallel_case
case中的full_case与parallel_case讨论: 1)术语介绍: 整个case模块叫做:case_statement,注释部分叫做case_statement_header case ...
- linux中编译git时提示找不到ssl.h头文件
在centos中的解决方案是安装一个叫 openssl-devel 的包.
- zw版【转发·台湾nvp系列Delphi例程】HALCON RegionToBin2
zw版[转发·台湾nvp系列Delphi例程]HALCON RegionToBin2 unit Unit1;interfaceuses Windows, Messages, SysUtils, Var ...
- mysql去除重复数据
select可以取别名,delete不能. 1.使用mysql进行delete from操作时,若子查询的 FROM 字句和更新/删除对象使用同一张表,会出现错误. mysql> DELETE ...
- web负载均衡
在有些时候进行扩展是显而易见的,比如下载服务由于带宽不足而必须进行的扩展,但是,另一些时候,很多人一看到站点性能不尽如人意,就马上实施负载均衡等扩展手段,真的需要这样做吗?当然这个问题也只有他们自己能 ...
- 项目管理:CocoaPods建立私有仓库
CocoaPods是iOS,Mac下优秀的第三方包管理工具,类似于java的maven,给我们项目管理带来了极大的方便. 个人或公司在开发过程中,会积累很多可以复用的代码包,有些我们不想开源,又想像开 ...
- Oracle性能优化--DBMS_PROFILER
想看到过程或者函数执行每一步的过程:想看到每一步所占的时间吗?借助profiler吧:它可以满足你来分析过程/函数执行比较久:可以直接快速找到病因:从而可以优化那一步需要优化下. 一 ...
- SlickGrid example 6:Ajax加载
Ajax加载. 代码: <!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Ty ...
- Hangover 分类: POJ 2015-06-11 10:34 12人阅读 评论(0) 收藏
Hangover Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 108765 Accepted: 53009 Descr ...