Codevs 2189 數字三角形W

2021-08-08 20:31:57 字數 1052 閱讀 8925

題目:

題解:

dp[k][i][j]=1/0,表示走到i,j,是否有%=k的情況

加一層for k值 0~99,當前節點的上兩個節點如果有%=k的情況,tmp=k+當前節點的值,tmp%一下,到ij %=tmp的情況存在,所以dp[tmp][i][j]=1;

注意初始化

**:

#include

#include

#include

using

namespace

std;

const

int n=100+50;

const

int p=100;

int n,num[n][n],dp[n][n][n];

int main()

for(int i=1;i<=n;i++) dp[0][i][0]=dp[0][0][i]=1;

for(int i=1;i<=n;i++)

if(dp[a][i-1][j])}}

}for(int i=p;i>=1;i--)

}return

0;}

#include

#include

#include

using

namespace

std;

const

int n=100+50;

const

int p=100;

int n,num[n][n],dp[n][n][n];

int main()

for(int i=1;i<=n;i++) dp[0][i][0]=dp[0][0][i]=1;

for(int i=1;i<=n;i++)}}

for(int i=p;i>=0;i--)

}return

0;}

codevs 天梯 數字三角形

如圖所示的數字三角形,從頂部出發,在每一結點可以選擇向左走或得向右走,一直走到底層,要求找出一條路徑,使路徑上的值最大。分析 很明顯dp,從下往上依次取最優解即可 const maxn 200 varf array 0.maxn,0.maxn of longint n longint procedu...

Codevs 1220 數字三角形

codevs 1220 數字三角形 呃。大意是下面幾層的每乙個結點都可由上一層的左右兩個結點走來 大概就是 i,j 可由 i 1,j 1 或 i 1,j 而來 所以。a i,j max a i 1,j 1 a i 1 j x a i,j 表示走到第a i,j 的最大值,x表示讀入資料中第 i,j 位...

codevs1220 數字三角形

problem solution codes f i j 從 i,j 出發能獲得的最大值 裸dfs include include using namespace std int n,a 110 110 f 110 110 int dfs int i,int j int main f i j 從 i...