zoukankan      html  css  js  c++  java
  • 【动态规划】数字三角形2

    【题目描述】

    数字三角形
    要求走到最后mod 100最大

    【输入格式】

    第1行n,表示n行 <=25
    第2到n+1行为每个的权值

    【输出格式】

    mod 100最大值

    【分析】

    设置状态f[i][j][k]表示(i,j)各自内是否mod 100可以为k。

    状态转移方程:

    f[i][j][k]=f[i+1][j][k+a[i+1][j]mod 100]  || f[i+1][j+1][k+a[i+1][j+1]mod 100]

    一开始把f[1][1][a[1][1]]设置为true

    【代码】

     1 var
     2   f:array[0..25,0..25,0..99]of boolean;
     3   a:array[0..25,0..25] of longint;
     4   n,i,j,k:longint;
     5 function max(n,m:longint):longint;
     6   begin
     7     if n>m then exit(n) else exit(m);
     8   end;
     9 begin
    10   fillchar(f,sizeof(f),false);
    11   readln(n);
    12   for i:=1 to n do 
    13     for j:=1 to i do read(a[i][j]);
    14   f[1][1][a[1][1]mod 100]:=true;
    15   for i:=2 to n do 
    16     for j:=1 to i do
    17       for k:=0 to 99 do 
    18       begin
    19         if f[i-1][j][k] then f[i][j][(k+a[i][j])mod 100]:=true;
    20         if f[i-1][j-1][k] then f[i][j][(k+a[i][j])mod 100]:=true;
    21       end;
    22   for i:=99 downto 0 do 
    23     for j:=1 to n do 
    24       if f[n][j][i] then 
    25       begin
    26         writeln(i);
    27         halt;
    28       end;
    29 end.
    黎明的朝阳,会为苦难中最坚强的信念升起
  • 相关阅读:
    查询中常用的扩展方法
    加载关联表的数据 显式加载
    加载关联表的数据 延迟加载
    加载关联表的数据 贪婪加载
    操作内存中的数据
    DBContext基础查询
    EF简单增删改查
    1- MySQL数据库基础快速入门
    1-3 Postman 注册账号与登录
    1-2 postman工具简介
  • 原文地址:https://www.cnblogs.com/Dawn-Star/p/9253975.html
Copyright © 2011-2022 走看看