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 ...
随机推荐
- beta-1阶段各组员的贡献分分配
小组名称:nice! 小组成员:李权 于淼 刘芳芳 韩媛媛 宫丽君 项目内容:约跑app 分数分配规则 个人贡献分=基本贡献分*0.2+特殊贡献分*0.3+个人代码贡献量*0.5 其中 基本贡献分,特 ...
- Sql server analysis service 通过IIS连接时的最大连接数问题
做过SSAS项目的大部分人都应该知道SSAS是可以通过在IIS上建立代理站点的方式来建立远程连接的,这样可以绕过连接到SSAS时需要在同一个域环境下通过域用户来验证的问题,这样即使连接到SSAS的客户 ...
- mybatis 复习笔记03
参考:http://www.mybatis.org/mybatis-3/zh/configuration.html 入门 1. 从 XML 中构建 SqlSessionFactory 每个基于 MyB ...
- 161208、Java enum 枚举还可以这么用
在大部分编程语言中,枚举类型都会是一种常用而又必不可少的数据类型,Java中当然也不会例外.然而,Java中的Enum枚举类型却有着许多你意想不到的用法,下面让我们一起来看看. 先来看一段代码示例: ...
- 161010、在大型项目中组织CSS
编写CSS容易. 编写可维护的CSS难. 这句话你之前可能听过100次了. 原因是CSS中的一切都默认为全局的.如果你是一个C程序员你就知道全局变量不好.如果你是任何一种程序员,你都知道隔离和可组合的 ...
- windows win10上传文件到linux服务器
1.最直接当然使用终端secucrt和xshell putty之类的,然后使用sz rz 2.如果服务器端不支持sz rz可以使用scp命令,下面这个pscp.exe就是支持scp的,基于ssh,很好 ...
- c sharp学习 问题记录
1.函数的调用可以嵌套,定义不可以 C# 参考之方法参数关键字:params.ref及out C#中方法的参数的四种类型
- [转]clrDateTime to Dynamics AX TransDate
转自:https://community.dynamics.com/ax/f/33/t/30791.aspx TransDate是一种只有日期,没有时间的类型 utcDateTime=Global:: ...
- java JPEGImageEncoder;图像处理
在Eclipse中处理图片,需要引入两个包: import com.sun.image.codec.jpeg.JPEGCodec; import com.sun.image.codec.jpeg.JP ...
- 浮点数转换为人名币读法字符串(JAVA)
/*<java疯狂讲义>浮点数转换为人名币读法字符串这个用例,感觉没有考虑零的情况*/ import java.util.Arrays; public class Num2Rmb { pr ...