以上是acwing的题谱
数字三角形
大致的题意就是给出一个n行的序列,序列的第i行有i个元素(i=1,2,3,...,n),需要你求出沿着这个序列从顶端走到底端元素和最大的一条路线
解题
给三角形的每一行每一列标上号,以当前位于第i行第j列来表示状态,用来的方向进行状态转移。
dp思路如下:
1.变式1
1.1摘花生
https://www.acwing.com/problem/content/1017/
有点类似于bfs走迷宫的问题,思路和朴素版差不多。这里更复杂的是可能会出现不同的情况,比如说某些格子不能走、不能重复走这些问题。
#include<iostream>
using namespace std;
const int N=110;
int T;
int dx[2]={-1,0},dy[2]={0,-1};
int m[N][N];
int f[N][N];
int main()
{
scanf("%d",&T);
while(T--)
{
int r,c;
scanf("%d%d",