題目:
題解:
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...