Codeforces Round #230 (Div. 2) C. Blocked Points D. Tower of Hanoi
来源:互联网 发布:淘宝客怎么在微信推广 编辑:程序博客网 时间:2024/05/11 17:36
dp题,有两个状态转移
dp[n][a][c]=dp[n-1][a][b]+cost[a][c]+dp[n-1][b][c]
dp[n][a][c]=dp[n-1][a][c]+cost[a][b]+dp[n-1][c][a]+cost[b][c]+dp[n-1][a][c]
两者取最优
#include <iostream>using namespace std;typedef long long LL;const int INF = 0x7fffffff;LL cost[4][4];LL dp[50][4][4];LL dfs(LL n,int a,int c){ if(dp[n][a][c]!=INF) return dp[n][a][c]; if(n==0) return 0; int b=6-a-c; LL t1 = dfs(n-1,a,b)+cost[a][c]+dfs(n-1,b,c); LL t2 = 2*dfs(n-1,a,c)+cost[a][b]+dfs(n-1,c,a)+cost[b][c]; dp[n][a][c]=t1>t2?t2:t1; return dp[n][a][c];}int main(){ LL n; for(int i=1; i<=3; i++) for(int j=1; j<=3; j++) cin >> cost[i][j]; cin >> n; for(int i=0; i<=n; i++) for(int j=1; j<=3; j++) for(int k=1; k<=3; k++) dp[i][j][k]=INF; cout << dfs(n,1,3)<<endl; return 0;}
0 0
- Codeforces Round #230 (Div. 2) C. Blocked Points D. Tower of Hanoi
- Codeforces Round #230 (Div. 2) C. Blocked Points D. Tower of Hanoi
- Codeforces Round #230 (Div. 2) D - Tower of Hanoi
- Codeforces Round #230 (Div. 2) D. Tower of Hanoi (加强版汉诺塔,DP)
- Codeforces Round #230 (Div. 2) C. Blocked Points
- Codeforces Round #230 (Div. 2) C. Blocked Points
- Codeforces Round #230 (Div. 1) B. Tower of Hanoi
- Codeforces Round #230 (Div. 2) C: Blocked Points 水泄不通的点墙
- Codeforces Round #230 (Div. 2) C. Blocked Points ACM解题报告(暴力)
- Codeforces Round #230 (Div. 1) B. Tower of Hanoi 记忆化搜索
- codeforces 230 div2 D Tower of Hanoi DP
- codeforces Tower of Hanoi
- Codeforces Round #356 (Div. 2)-D- Bear and Tower of Cubes
- Codeforces Round #356 (Div. 2) D. Bear and Tower of Cubes
- Codeforces Round #356 (Div. 2)D. Bear and Tower of Cubes
- Codeforces Round #191 (Div. 2) D. Block Tower
- Codeforces Round #191 (Div. 2) D. Block Tower
- Codeforces Round #164 (Div. 2) C. Beautiful Sets of Points【思维题】
- 被骗子骗时反把骗子骗!
- cocos2dx unable to instantiate activity
- 程序员编程艺术----1、左旋转字符串
- android之JNI
- hadooop 学习
- Codeforces Round #230 (Div. 2) C. Blocked Points D. Tower of Hanoi
- 畅通工程续
- SAE中Java Web工程部署代码
- HDU 1421 搬寝室 (dp+小贪心)
- 1的个数和2的幂等数
- .NET使用一般处理程序生成验证码!
- 并发
- CTS测试
- Linux下GSL 的调用(在linux下完成小波分解工作)