当前位置: 首页 > news >正文

网站建设 行业资讯免费平台推广

网站建设 行业资讯,免费平台推广,给网站做灰盒渗透测试需要哪些数据,沈阳做网站建设【题目描述】 设有 NN 的方格图 (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…

【题目描述】

设有 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 表示输入结束。

【输出】

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

样例输入

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

样例输出

67

解题思路

这个题目首先可能会想到用动态二维 dp 解题,但是会出现一个问题这个不像搜索,走到之后就直接标记,然后后面是不会走到了,动态规划解题的特点是:如果要得到最小值或者,就不停的遍历并更新 dp 数组里面的值。但是这个题需要走两遍,而且走过的路上的数字要清空(注意这里并不是不能经过)。

用一个四维 dp 数组解决,四层循环查找一遍就可以得到答案。

代码如下:

#include<stdio.h>
int book[10][10];
int dp[10][10][10][10];//四维动态 dp数组 
int max(int x,int y)//求较大值的函数 
{if(x<y)return y;elsereturn x;
}
int main()
{int n,a,b,c,i,j,l,k;scanf("%d",&n);while(scanf("%d %d %d",&a,&b,&c)!=EOF){if(a==0&&b==0&&c==0)//一行单独的 0代表输入结束  break;book[a][b]=c;}for(i=1;i<=n;i++){for(j=1;j<=n;j++){for(l=1;l<=n;l++){for(k=1;k<=n;k++){dp[i][j][l][k]=book[i][j]+book[l][k]+max(max(dp[i][j-1][l][k-1],dp[i-1][j][l-1][k]),max(dp[i-1][j][l][k-1],dp[i][j-1][l-1][k]));if(i==l&&j==k)dp[i][j][l][k]-=book[i][j];}}			}}printf("%d\n",dp[n][n][n][n]);return 0;
} 

这个方法应该也是可行的:除了动态 dp 数组,除了存放方格中数的 book 数组,再设置一个 flag 数组(只能向下走或者向右走),它的下标代表每一列经过的行数,每更新一次 dp 数组里面的值,就把行数的下标存入对应的 flag 数组。

这样进行完第一遍查找后,找到了方格取数的最大值,并且标记了走过的路径,接下来把走过的路径上面的方格数归为 0,然后进行第二遍查找。

两遍查找的最大值相加就是要求的答案。

http://www.wooajung.com/news/32662.html

相关文章:

  • 东莞建网站公司哪个好企业品牌营销推广
  • 西宁人大网站建设营销渠道模式有哪些
  • 网站搜索怎么做php谷歌搜索引擎香港入口
  • 在什么网站上可以做中学数学家教百度权重怎么提高
  • 南京建站公司哪家好郑州今天刚刚发生的新闻
  • 北京开发区建设委员会网站制作网站
  • 2017淘宝客网站怎么做莆田网站建设优化
  • 学校要建个网站应该怎么做程序员培训班要多少钱
  • 个人视频网站怎么做百度广告收费表
  • 做搜狐网站页面百度推广的广告真实可信吗
  • 做网站开发的公司销售关键词挖掘站长工具
  • 网站搭建服务器需要什么国际新闻最新消息美国
  • 公司网站页面加密海外推广代理商
  • 江苏企业建网站排名优化上海seo公司排名
  • 微信支付网站未建设完善百度首页快速排名系统
  • asp在线生成网站地图源代码免费建站系统哪个好用吗
  • 响应式网站和自适应网站区别百度识图搜索引擎
  • BC网站开发公司java培训学费多少钱
  • 网络促销北京seo推广
  • 动易网站 青春营销软件商城
  • 菜鸟必读 网站被入侵后需做的检测 2郑州网络推广效果
  • 彩票网站开发制作h5永久免费低代码开发平台
  • 国外网站做家具哪个好长沙百度推广开户
  • 企业微信网页版登录宁波seo排名方案优化公司
  • 做公司网站需要备案吗武汉seo认可搜点网络
  • 徐州品牌网站建设汕头网站推广排名
  • 网站建设费用包括哪些方面推广关键词
  • 潍坊快速网站排名seo软件推荐
  • 网站建设公司业务在哪里来海淀区seo全面优化
  • 如何添加网站图标seo外链建设的方法