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]);
}

转载于:https://www.cnblogs.com/thmyl/p/7219550.html

Codevs 1043 方格取数相关推荐

  1. codevs 1043 方格取数 2000年NOIP全国联赛提高组

    时间限制: 1 s  空间限制: 128000 KB  题目等级 : 钻石 Diamond 题目描述 Description 设有N*N的方格图(N<=10,我们将其中的某些方格中填入正整数,而 ...

  2. [codevs 1907] 方格取数3

    [codevs 1907] 方格取数3 题解: 二分图染色.最大点权独立集. 因为要用到最大独立集的一些思路,故先写了一篇最大独立集的题解:http://blog.csdn.net/qq_211102 ...

  3. [codevs 1227] 方格取数2

    [codevs 1227] 方格取数 2 题解: 注:这是CODEVS的方格取数2,走k次的版本. 因为每个格子可以走无数次,但走过一次之后数字就变成了0,也就是只有一次可以加上格子里的数字.所以要拆 ...

  4. codevs 1227 方格取数 2

    Description 给出一个n*n的矩阵,每一格有一个非负整数Aij,(Aij <= 1000)现在从(1,1)出发,可以往右或者往下走,最后到达(n,n),每达到一格,把该格子的数取出来, ...

  5. codevs 1907 方格取数 3

    Description 在一个有m*n 个方格的棋盘中,每个方格中有一个正整数.现要从方格中取数,使任意2 个数所在方格没有公共边,且取出的数的总和最大.试设计一个满足要求的取数算法. Input 第 ...

  6. codevs 1227 方格取数2

    网络流+拆点 π_π(好像HDU上有类似的题..那时我还是用Pascal写的) 算是裸题吧..然而我本不会费用流 看了下黄学长的代码,说下自己的理解(黄学长只贴了代码π_π) 把每一个点拆成两个点,一 ...

  7. codevs 1907:方格取数3

    这个系列终于做完了.. 又是一道网络流 因为不能取相邻的点,很容易发现需要二分图 一半的点连源,另一半连汇,流量为map[i,j] 相邻的点连起来,流量为inf 答案就是总和减最大流 最大流...看这 ...

  8. dp4--codeVs1043 方格取数

    dp4--codeVs1043 方格取数 一.心得 二.题目 1043 方格取数 2000年NOIP全国联赛提高组  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 钻石 Dia ...

  9. 【codevs 1902】方格取数3(最小割)

    1907 方格取数 3 时间限制: 2 s   空间限制: 256000 KB    题目等级 : 大师 Master 题目描述 Description   在一个有m*n 个方格的棋盘中,每个方格中 ...

最新文章

  1. 判断扫码是支付宝还是微信
  2. 一个不成功人士的“成功之道”
  3. 企业网站 源码 服务邮箱:_后来才知道:温州腾讯企业邮箱定制服务
  4. UC浏览器云标签怎么用 UC浏览器云标签使用方法
  5. Golang的简明安装指南
  6. php中的each()用法和list()用法
  7. linux基础期末考,Linux基础期末考试试题.pdf
  8. 用python 调用whatsapp自动发消息
  9. python数据库进阶
  10. Thematic与Continuous区别
  11. oracle odt.net,ODT .NET 详解之 SqlDataSource 访问 Oracle
  12. GateWay 服务网关
  13. 【技术分享】IS-IS 概述
  14. 【计算机毕业设计】美容美发微信小程序的设计与实现
  15. 古龙妙语大全 下 朱近墨
  16. Amazon Go无人便利店识别购物的技术详解
  17. vim及管理输入输出
  18. 反射率(Reflectance)与反照率(Albedo)
  19. win7远程服务器发生身份验证错误,要求的函数不受支持
  20. 无线通信网络学习之E-UTRAN与EPC篇(20141209)

热门文章

  1. onSaveInstanceState() 和 onRestoreInstanceState()
  2. yum命令不能使用的相关错误
  3. select 组件-bug解决方案
  4. 开源 免费 java CMS - FreeCMS1.5 标签 visit
  5. C# continue,break,return 跳转语句的用法
  6. 《Android开发从零开始》——26.数据存储(5)
  7. MATLAB学习笔记(十三)
  8. 飞船向上飞pygame用k_up_十分钟就能用Python教你开发出一个迷你打飞机的游戏
  9. mysql主从同步忽略一条错误_mysql主从同步出现异常语句跳过错误处理
  10. mybatis批量更新及其效率问题