dp 数字三角形
2024-08-31 23:30:34
冻龟之前
先看地龟
//
// Created by snnnow on 2020/7/23
//
//递归算法,除了慢其实还好
#include<iostream>
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#include <queue>
using namespace std;
#define Max 101
int m[Max][Max];
int n;
int dfs(int a,int b){
if(a==n)
return m[a][b];
return max(dfs(a+,b),dfs(a+,b+))+m[a][b];
}
int main(){ scanf("%d",&n);
for (int i = ; i <= n; ++i) {
for (int j = ; j <= i ; ++j) {
scanf("%d",&m[i][j]); } }
printf("%d",dfs(,));
}
加个记忆化搜素
//
// Created by snnnow on 2020/7/23
//
//递归算法,除了慢其实还好
#include<iostream>
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#include <queue>
#include <time.h>
using namespace std;
#define Max 101
int m[Max][Max];
int rem[Max][Max];
int n;
int dfs(int a,int b){
if(rem[a][b]!=-)
return rem[a][b];
if(a==n)
rem[a][b]= m[a][b];
else
rem[a][b]=max(dfs(a+,b),dfs(a+,b+))+m[a][b]; return rem[a][b];
}
int main(){ scanf("%d",&n);
for (int i = ; i <= n; ++i) {
for (int j = ; j <= i ; ++j) {
scanf("%d",&m[i][j]);
rem[i][j]=-; } }
printf("%d",dfs(,));
cout<<endl;
printf("Time used = %.2f\n", (double)clock() / CLOCKS_PER_SEC); }
最新文章
- PHP严重致命错误处理:php Fatal error: Cannot redeclare class or function
- sql 行转 列, 列转行
- 【翻译八】java-内存一致性错误
- Android FM模块学习之四源码分析(3)
- 笔记:PHP查询mysql数据后中文字符乱码
- HDU2149-Good Luck in CET-4 Everybody!(博弈,打表找规律)
- Android 输入法键盘和activity页面遮挡问题解决
- redis-2.6.16源码分析之pub-sub系统
- Git冲突解决方案
- 柯里化函数之Javascript
- [转] 关于 Eclipse 导出 Android项目 JavaDoc 详细过程
- Facebook开源Zstandard新型压缩算法代替Zlib 简单使用
- 解决Cordova安装Cannot find module &#39;bplist-parser&#39;问题
- P2045 方格取数加强版
- Redis常用命令--SortedSet
- 【MySql】Group By数据分组
- VUE失去焦点提交修改值
- 梯度下降法、牛顿法、高斯牛顿法、LM最优化算法
- C++虚函数之接口 最简单的功能
- [FJWC2018]全排列 DP