dfs法
就是深度优先搜索这个数塔,标记每一个路径的总和,找最大值。
但是时间复杂度太高而且有些节点重复搜索。
#include<bits/stdc++.h>
using namespace std;
int ans,a[10][10],n;
void dfs(int x,int y,int c){
if(x==n-1) {
if(c>ans) ans=c;
return;
}
dfs(x+1,y,c+a[x+1][y]);
dfs(x+1,y+1,c+a[x+1][y+1]);
}
int main(){
scanf("%d",&n);
int i,j;
for(i=