网站建设是什么软件网站权重是怎么提升的
题目描述
思路
简单小dp
和那个走象棋,但不能走马要吃到的位置的那个一样,甚至比那个还简单
代码
#include<bits/stdc++.h>using namespace std;const int N = 1e3+10;
int f[N][N];
int a[N][N];
int main()
{int n;cin >> n; //其实也可以不用置0,因为本来初始化的时候就是0了for(int i = 1; i <= n; i++){for(int j = 0; j <= i; j++){if(j == 0){f[i][j] = 0;}elsecin >> f[i][j];}for(int j = i + 1; j <= n; j++){f[i][j] = 0;}//对于每个阶段,唯一使用的数据是 a[i][j] 而不使用其后输入的数据,则可以将两个二重循环并为一个,即一边输入 a[i][j] 一边计算 f[i][j]。for(int i = 1; i <= n; i++){for(int j = 1; j <= n; j++) //加等号{a[i][j] = max(a[i - 1][j], a[i - 1][j-1]) + f[i][j]; //再加上当前这个数 }//}int ans = -1e6;for(int i = 1; i <= n; i++){//cout<<a[n][i]<<endl;ans = max(a[n][i], ans);}cout<<ans<<endl;return 0;
}
总结
就是道板子题