蓝桥杯 算法训练 传纸条
2017-12-06 22:44
253 查看
提示我用动态规划,可是我不会所以就用搜索写了一手,果断超时,,20分
下面转载一个博主的满分代码学习学习
博主的思路是真的流批,大佬大佬
完整的介绍在下面这个网址
http://blog.csdn.net/u011077606/article/details/43302987
下面转载一个博主的满分代码学习学习
博主的思路是真的流批,大佬大佬
完整的介绍在下面这个网址
http://blog.csdn.net/u011077606/article/details/43302987
#include <stdio.h> #include <string.h> int arr[52][52]; /* * re[x1][y1][x2][y2]表示 * 传到坐标为(x1, y1)和(x2, y2)的同学的好感度最大值 */ int re[52][52][52][52]; int max(int a, int b, int c, int d) { if (a < b) a = b; if (a < c) a = c; if (a < d) a = d; return a; } int main ( ) { int m, n; int x1, y1, x2, y2; scanf("%d %d", &m, &n); for (x1 = 1; x1 <= m; x1++) { for (y1 = 1; y1 <= n; y1++) { scanf("%d", &arr[x1][y1]); } } for (x1 = 1; x1 <= m; x1++) { for (y1 = 1; y1 <= n; y1++) { for (x2 = 1; x2 <= m; x2++) { if (x1 + y1 - x2 > 0) { y2 = x1 + y1 - x2; } else continue; re[x1][y1][x2][y2] = max(re[x1-1][y1][x2-1][y2], re[x1][y1-1][x2-1][y2], re[x1][y1-1][x2][y2-1], re[x1-1][y1][x2][y2-1]) + arr[x1][y1] + arr[x2][y2]; if (x1 == x2 && y1 == y2) { re[x1][y1][x2][y2] -= arr[x1][y1]; } } } } printf("%d", re[m] [m] ); return 0; }
相关文章推荐
- 算法训练 传纸条 蓝桥杯
- 算法提高 学霸的迷宫 蓝桥杯训练
- 蓝桥杯 算法训练 5-1最小公倍数
- 蓝桥杯联系系统算法训练——比较大小
- 蓝桥杯——算法训练 字符串变换(Vip试题)
- 蓝桥杯 ALGO-126 算法训练 水仙花
- 算法-蓝桥杯-入门训练 序列求和 (JAVA)
- 蓝桥杯_ 算法训练 区间k大数查询
- 蓝桥杯 算法训练 未名湖边的烦恼
- 蓝桥杯算法训练——最大最小公倍数(贪心)
- 算法-蓝桥杯-算法训练 结点选择(JAVA)
- 蓝桥杯_算法训练 安慰奶牛
- 蓝桥杯 ALGO-90 算法训练 出现次数最多的整数
- 蓝桥杯 ALGO-81 算法训练 动态数组使用
- 蓝桥杯 算法训练 幂方分解
- 蓝桥杯 ALGO-147 算法训练 4-3水仙花数
- 蓝桥杯算法训练——最大最小公倍数(贪心)
- 蓝桥杯 ALGO-64 算法训练 大小写判断
- 算法-蓝桥杯-算法训练 5-1最小公倍数 (JAVA)
- 蓝桥杯算法训练 图形显示