蓝桥-ALGO-36-传纸条
来源:互联网 发布:java 多线程 并发请求 编辑:程序博客网 时间:2024/05/16 05:16
ACM模版
描述
题解
简单的双路 dp,没毛病!
代码
#include <iostream>using namespace std;const int MAXN = 55;int map[MAXN][MAXN];int dp[MAXN][MAXN][MAXN * 2];int main(int argc, const char * argv[]){// freopen("/Users/zyj/Desktop/input.txt", "r", stdin); int n, m; cin >> n >> m; for (int i = 1; i <= n; i++) { for (int j = 1; j <= m; j++) { cin >> map[i][j]; } } int max_steps = n - 1 + m - 1 - 1;// cout << max_steps << '\n'; for (int k = 1; k <= max_steps; k++) {// cout << k << '\n'; for (int i = 1; i <= n; i++) { for (int j = i + 1; j <= n; j++) { int coli = k - i + 2; int colj = k - j + 2; if (coli < 1 || colj < 1 || coli > m || colj > m) { continue; } int cost = map[i][coli] + map[j][colj]; dp[i][j][k] = max(dp[i][j][k], dp[i][j][k - 1] + cost); dp[i][j][k] = max(dp[i][j][k], dp[i - 1][j - 1][k - 1] + cost); dp[i][j][k] = max(dp[i][j][k], dp[i - 1][j][k - 1] + cost); dp[i][j][k] = max(dp[i][j][k], dp[i][j - 1][k - 1] + cost);// cout << i << ' ' << j << ' ' << k << " : ";// cout << dp[i][j][k] << '\n'; } } } cout << dp[n - 1][n][max_steps] << '\n'; return 0;}
阅读全文
0 0
- 蓝桥-ALGO-36-传纸条
- 蓝桥-ALGO-26-麦森数
- 蓝桥-ALGO-33-数列
- 蓝桥-ALGO-40-会议中心
- 蓝桥 ALGO-2 最大最小公倍数
- 蓝桥-ALGO-9-摆动序列
- 蓝桥-ALGO-10-集合运算
- 蓝桥-ALGO-12-幂方分解
- 蓝桥-ALGO-13-拦截导弹
- 蓝桥-ALGO-14-回文数
- 蓝桥-ALGO-16-进制转换
- 蓝桥-ALGO-17-乘积最大
- 蓝桥-ALGO-18-单词接龙
- 蓝桥-ALGO-19-方格取数
- 蓝桥-ALGO-20-求先序排列
- 蓝桥-ALGO-22-数的划分
- 蓝桥-ALGO-24-统计单词个数
- 蓝桥-ALGO-27-FBI树
- 文本编辑器[notepad++] :一些快捷键
- linux shell 脚本编程基本语法
- Java基础篇多线程概念和使用原理分析
- 关于jeesite的陷阱需要注意
- js 搜索表格中包含某字段的行
- 蓝桥-ALGO-36-传纸条
- Python对<type 'NoneType'>数据类型的处理
- Mybatis--逆向工程
- eclipse部分常用快捷键
- 电脑分享组件
- 以太坊开发--geth的使用入门
- 数据挖掘概念与技术(原书第三版)范明 孟小峰译-----第六章课后习题答案
- Spark 初探 (一)
- PHP文件操作,多行句子的读取,file()函数,file_get_contents()函数,file_put_contents()函数,is_file,统计网站pv (访问量),文件的复制 copy