题目描述

设有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 提高组第四题

 #include<iostream>
#include<cstdio>
#include<cstring>
#define N 15
using namespace std;
int map[N][N],n,f[N][N][N*];
int main()
{
scanf("%d",&n);
int x,y,z;
while(scanf("%d%d%d",&x,&y,&z)==)
{
if(x==&&y==&&z==)
break;
map[x][y]=z;
}
for(int k=;k<=*n;k++)
{
for(int i=;i<=min(k,n);i++)//取小
{
for(int j=;j<=min(k,n);j++)
{
f[i][j][k]=max(f[i-][j][k-],f[i][j-][k-]);
f[i][j][k]=max(f[i][j][k],f[i-][j-][k-]);
f[i][j][k]=max(f[i][j][k],f[i][j][k-]);
f[i][j][k]+=map[i][k-i]+map[j][k-j];
if(i==j) f[i][j][k]-=map[i][k-j];//两人走到了同一个地方,so减掉
}
}
} printf("%d",f[n][n][*n]); return ;
}

思路:不难发现(步数+1-横坐标=纵坐标),这里优化成3维,i表示1号的横坐标,j表示2号的横坐标,k表示走过的步数,所以这样可以优化到3维辣!!网上普遍是4维的。

这个题也值得好好看看

最新文章

  1. mybatis 中#和$的区别
  2. HTTP请求中的Body构建——.NET客户端调用JAVA服务进行文件上传
  3. 42.JTAG接口使用注意
  4. CriticalFinalizerObject的作用
  5. Check if a string is NULL or EMPTY using PowerShell
  6. iOS - Quartz 2D 二维绘图
  7. Linux多线程实践(4) --线程特定数据
  8. vue(6)—— vue中向后端异步请求
  9. 深入剖析虚拟DOM提升性能(Vue,React);
  10. ajax的网上解析
  11. 数据服务器------sql
  12. 利用bootstrap-datetimepicker实日历插件
  13. jvm类加载器以及双亲委派
  14. js 动画效果实现
  15. Javascript:10天设计一门语言
  16. 新浪微博基于MySQL的分布式数据库实践
  17. 如何在window服务器上搭建一个能代替ftp的传输工具
  18. WCF寄宿到Windows Service
  19. Crossed ladders---poj2507(二分+简单几何)
  20. Charles安装及使用教程

热门文章

  1. jni 修bug
  2. 【转】Intellij Idea识别Java Web项目
  3. Instance Methods are Curried Functions in Swift
  4. 摘抄 Promise原理
  5. 重置windows用户漫游配置文件
  6. 图像分割loss集合
  7. java Date类型的时间显示格式
  8. appIcon
  9. CentOS 7.0:搭建SVN服务器
  10. unittest编写Web测试用例