• 洛谷 P1004 方格取数 WD


    题目描述

    设有N*N的方格图(N<=9),我们将其中的某些方格中填入正整数,而其他的方格中则放

    人数字0。如下图所示(见样例):

    A
     0  0  0  0  0  0  0  0
     0  0 13  0  0  6  0  0
     0  0  0  0  7  0  0  0
     0  0  0 14  0  0  0  0
     0 21  0  0  0  4  0  0
     0  0 15  0  0  0  0  0
     0 14  0  0  0  0  0  0
     0  0  0  0  0  0  0  0
    .                       B

    某人从图的左上角的A点出发,可以向下行走,也可以向右走,直到到达右下角的B

    点。在走过的路上,他可以取走方格中的数(取走后的方格中将变为数字0)。

    此人从A点到B点共走两次,试找出2条这样的路径,使得取得的数之和为最大。

    输入输出格式

    输入格式:

    输入的第一行为一个整数N(表示N*N的方格图),接下来的每行有三个整数,前两个

    表示位置,第三个数为该位置上所放的数。一行单独的0表示输入结束。

    输出格式:

    只需输出一个整数,表示2条路径上取得的最大的和。

    输入输出样例

    输入样例#1:
    8
    2 3 13
    2 6  6
    3 5  7
    4 4 14
    5 2 21
    5 6  4
    6 3 15
    7 2 14
    0 0  0
    
    输出样例#1:
    67

    说明

    NOIP 2000 提高组第四题

     1 #include<iostream>
     2 #include<cstdio>
     3 
     4 using namespace std;
     5 
     6 int mapp[11][11],n,dp[11][11][11][11];
     7 
     8 int main() 
     9 {
    10     cin>>n;
    11     int i,j,k,x1,y1,x2,y2;
    12     while(cin>>i>>j>>k&&i&&j&&k)
    13         mapp[i][j]=k;
    14     for(x1=1; x1<=n; x1++)
    15         for(y1=1; y1<=n; y1++)
    16             for(x2=1; x2<=n; x2++)
    17                 for(y2=1; y2<=n; y2++) 
    18                 {
    19                     dp[x1][y1][x2][y2]=max(max(dp[x1-1][y1][x2-1][y2],dp[x1-1][y1][x2][y2-1]),
    20                     max(dp[x1][y1-1][x2-1][y2],dp[x1][y1-1][x2][y2-1]))+mapp[x1][y1]+mapp[x2][y2];
    21                     if(x1==x2&&y1==y2) dp[x1][y1][x2][y2]-=mapp[x1][y1];//判重 如果x1,y1,x2,y2处于同一点 减掉重复算的一次
    22                 }
    23     cout<<dp[n][n][n][n];
    24     return 0;
    25 }
  • 相关阅读:
    html5+css3中的background: -moz-linear-gradient 用法 (转载)
    CentOS 安装Apache服务
    Linux 笔记
    CURL 笔记
    Spring Application Context文件没有提示功能解决方法
    LeetCode 389. Find the Difference
    LeetCode 104. Maximum Depth of Binary Tree
    LeetCode 520. Detect Capital
    LeetCode 448. Find All Numbers Disappeared in an Array
    LeetCode 136. Single Number
  • 原文地址:https://www.cnblogs.com/lyqlyq/p/6875405.html
Copyright © 2020-2023  润新知