博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
UVA 10564 Paths through the Hourglass DP
阅读量:5963 次
发布时间:2019-06-19

本文共 2014 字,大约阅读时间需要 6 分钟。

注意用long long。

//#pragma comment(linker, "/STACK:1024000000,1024000000")#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
using namespace std;typedef long long ll;typedef pair
pii;#define pb(a) push_back(a)#define INF 0x1f1f1f1f#define lson idx<<1,l,mid#define rson idx<<1|1,mid+1,r#define PI 3.1415926535898template
T min(const T& a,const T& b,const T& c) { return min(min(a,b),min(a,c));}template
T max(const T& a,const T& b,const T& c) { return max(max(a,b),max(a,c));}void debug() {#ifdef ONLINE_JUDGE#else freopen("d:\\in.txt","r",stdin); freopen("d:\\out1.txt","w",stdout);#endif}int getch() { int ch; while((ch=getchar())!=EOF) { if(ch!=' '&&ch!='\n')return ch; } return EOF;}int n,s;int da[50][50];ll dp[50][50][550];ll f(int k,int pos,int s){ if(dp[k][pos][s]>=0)return dp[k][pos][s]; if(k==2*n-1)return dp[k][pos][s]=s==da[k][pos]?1:0; ll x=0; if(k
=da[k][pos])x+=f(k+1,pos-1,s-da[k][pos]); if(pos!=abs(k-n)+1&&s>=da[k][pos])x+=f(k+1,pos,s-da[k][pos]); }else { if(s>=da[k][pos])x+=f(k+1,pos,s-da[k][pos]); if(s>=da[k][pos])x+=f(k+1,pos+1,s-da[k][pos]); } return dp[k][pos][s]=x;}int main(){ // freopen("d:\\in.txt","r",stdin); while(scanf("%d%d",&n,&s)!=EOF&&(n||s)) { for(int i=1;i<=2*n-1;i++) { for(int j=1;j<=abs(i-n)+1;j++) scanf("%d",&da[i][j]); } ll num=0; memset(dp,-1,sizeof(dp)); for(int i=1;i<=n;i++) { num+=f(1,i,s); } printf("%lld\n",num); if(num==0) printf("\n"); else { for(int i=1;i<=n;i++)if(dp[1][i][s]>0) { printf("%d ",i-1); int pos=i; int ns=s; for(int k=1;k<2*n-1;k++) { if(k
0) { printf("L"); ns-=da[k][pos];--pos; }else { printf("R"); ns-=da[k][pos]; } }else { if(dp[k+1][pos][ns-da[k][pos]]>0) { printf("L"); ns-=da[k][pos]; }else { printf("R"); ns-=da[k][pos];pos++; } } } break; } printf("\n"); } } return 0;}
View Code

 

转载于:https://www.cnblogs.com/BMan/p/3299088.html

你可能感兴趣的文章
Mac电脑Tomcat下载及安装(详细)MAC在Eclipse里配置tomcat
查看>>
多线程之-----------定时器
查看>>
C#语法——反射,架构师的入门基础。
查看>>
Beego Models 之 一
查看>>
代码生成工具Database2Sharp中增加视图的代码生成以及主从表界面生成功能
查看>>
Kubernetes部署的最佳安全实践
查看>>
理解C语言——从小菜到大神的晋级之路(8)——数组、指针和字符串
查看>>
Windows Shellcode学习笔记——shellcode在栈溢出中的利用与优化
查看>>
关于多线程中使用SendMessage
查看>>
【云栖大会】阿里云移动云Apsara Mobile重磅发布 推出Cloud Native App全新研发范式...
查看>>
【PMP】Head First PMP 学习笔记 第九章 人力资源管理
查看>>
2015年末必备前端工具集
查看>>
【Solidity】8. 杂项 - 深入理解Solidity
查看>>
关于在VS2005中编写DLL遇到 C4251 警告的解决办法
查看>>
Go语言大神亲述:历七劫方可成为程序员!
查看>>
CYQ.Data 轻量数据层之路 V4.5 版本发布[更好的使用体验,更优的缓存机制]
查看>>
NetApp针对其集群化方案“不值得升级”言论回击Wikibon
查看>>
QQ把游戏放进聊天框,这一点Facebook和微信都没做到
查看>>
在线匿名之父意欲终结“加密战争”
查看>>
WLAN市场销量逐步逼近有线网络
查看>>