zoukankan      html  css  js  c++  java
  • Codevs 1043 方格取数

    1043 方格取数

     

    2000年NOIP全国联赛提高组

     时间限制: 1 s
     空间限制: 128000 KB
     题目等级 : 钻石 Diamond
     
     
    题目描述 Description

    设有N*N的方格图(N<=10,我们将其中的某些方格中填入正整数,而其他的方格中则放入数字0。如下图所示(见样例):

    某人从图的左上角的A 点出发,可以向下行走,也可以向右走,直到到达右下角的B点。在走过的路上,他可以取走方格中的数(取走后的方格中将变为数字0)。

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

    输入描述 Input Description

    输入的第一行为一个整数N(表示N*N的方格图),接下来的每行有三个整数,前两个表示位置,第三个数为该位置上所放的数。一行单独的0表示输入结束。

    输出描述 Output Description

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

    样例输入 Sample Input

          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

    样例输出 Sample Output

          67

    /*
        类似于传纸条一题
    */
    #include<iostream>
    #include<cstdio>
    using namespace std;
    int n,a[11][11],dp[11][11][11][11];
    int Max(int t,int h,int m,int y,int l){
        return max(t,max(h,max(m,max(y,l))));
    }
    int main(){
        scanf("%d",&n);
        int x,y,z;
        while(1){
            scanf("%d%d%d",&x,&y,&z);
            if(x==0&&y==0&&z==0)break;
            a[x][y]=z;
        }
        for(int x1=1;x1<=n;x1++)
            for(int y1=1;y1<=n;y1++)
                for(int x2=1;x2<=n;x2++)
                    for(int y2=1;y2<=n;y2++){
                        int add=0;
                        if(x1==x2&&y1==y2)add=a[x1][y1];
                        else add=a[x1][y1]+a[x2][y2];
                        dp[x1][y1][x2][y2]=Max(dp[x1][y1][x2][y2],dp[x1-1][y1][x2-1][y2],dp[x1-1][y1][x2][y2-1],dp[x1][y1-1][x2-1][y2],dp[x1][y1-1][x2][y2-1])+add;
                    }
        printf("%d",dp[n][n][n][n]);
    }
  • 相关阅读:
    BZOJ2241 [SDOI2011]打地鼠 【模拟】
    K-D tree入门
    BZOJ1924 [Sdoi2010]所驼门王的宝藏 【建图 + tarjan】
    BZOJ1925 [Sdoi2010]地精部落 【dp】
    BZOJ1926 [Sdoi2010]粟粟的书架 【主席树 + 二分 + 前缀和】
    BZOJ2457 [BeiJing2011]双端队列 【贪心】
    二进制集合枚举子集
    BZOJ1923 [Sdoi2010]外星千足虫 【高斯消元】
    BZOJ1922 [Sdoi2010]大陆争霸 【最短路】
    HDU3157:Crazy Circuits——题解
  • 原文地址:https://www.cnblogs.com/thmyl/p/7219550.html
Copyright © 2011-2022 走看看