c++传纸条(类似于方格取数)

news/2024/11/8 4:35:38/

先看题目

小渊和小轩是好朋友也是同班同学,他们在一起总有谈不完的话题。

一次素质拓展活动中,班上同学安排坐成一个 m 行 n 列的矩阵,而小渊和小轩被安排在矩阵对角线的两端,因此,他们就无法直接交谈了。

幸运的是,他们可以通过传纸条来进行交流。

纸条要经由许多同学传到对方手里,小渊坐在矩阵的左上角,坐标 (1,1),小轩坐在矩阵的右下角,坐标 (m,n)。

从小渊传到小轩的纸条只可以向下或者向右传递,从小轩传给小渊的纸条只可以向上或者向左传递。 

在活动进行中,小渊希望给小轩传递一张纸条,同时希望小轩给他回复。

班里每个同学都可以帮他们传递,但只会帮他们一次,也就是说如果此人在小渊递给小轩纸条的时候帮忙,那么在小轩递给小渊的时候就不会再帮忙,反之亦然。 

还有一件事情需要注意,全班每个同学愿意帮忙的好感度有高有低(注意:小渊和小轩的好心程度没有定义,输入时用 0 表示),可以用一个 0∼100 的自然数来表示,数越大表示越好心。

小渊和小轩希望尽可能找好心程度高的同学来帮忙传纸条,即找到来回两条传递路径,使得这两条路径上同学的好心程度之和最大。

现在,请你帮助小渊和小轩找到这样的两条路径。

输入格式
第一行有 2 个用空格隔开的整数 m 和 n,表示学生矩阵有 m 行 n 列。

接下来的 mm 行是一个 m×n 的矩阵,矩阵中第 i 行 j 列的整数表示坐在第 i 行 j 列的学生的好心程度,每行的 n 个整数之间用空格隔开。

输出格式
输出一个整数,表示来回两条路上参与传递纸条的学生的好心程度之和的最大值。

数据范围
1≤n,m≤50

输入样例

3 3
0 3 9
2 8 5
5 7 0

输出样例

34

老规矩,先给代码

#include <iostream>
#include <algorithm>using namespace std;const int N = 55;int n, m;
int w[N][N];
int f[N * 2][N][N];int main()
{scanf("%d%d", &n, &m);for(int i =1; i <= n; i ++ ){for(int j = 1; j <=m; j ++ ){cin >> w[i][j];}}for (int k = 2; k <= n + m; k ++ )for (int i1 = 1; i1 <= n; i1 ++ )for (int i2 = 1; i2 <= n; i2 ++ ){int j1 = k - i1, j2 = k - i2;if (j1 >= 1 && j1 <= m && j2 >= 1 && j2 <= m){int t = w[i1][j1];if (i1 != i2) t += w[i2][j2];int &x = f[k][i1][i2];x = max(x, f[k - 1][i1 - 1][i2 - 1] + t);x = max(x, f[k - 1][i1 - 1][i2] + t);x = max(x, f[k - 1][i1][i2 - 1] + t);x = max(x, f[k - 1][i1][i2] + t);}}printf("%d\n", f[n + m][n][n]);return 0;
}

1、注意输入的时候数组下标从1开始

2、保证j1,j2一定是在1~m之内,虽然小渊和小轩每个人的情况是两种,但是合起来正好对应四个方向,而且要保证两个人是同时传纸条

3、因为可以保证取得数不会重复

4、i1 != i2就是保证不会取得相同的点上面的数值

5、f数组代表到达第i行,第j列,第k点的情况,因为合起来,所以动态转移方程就是四个

明白的小伙伴麻烦点个赞吧


http://www.ppmy.cn/news/673989.html

相关文章

在一个老外微信PM的眼中,中国移动App UI那些事儿

本文编译自Dan Grover的博客&#xff0c;他现在是腾讯微信的产品经理。以下是他从旧金山搬到广州后的近半年时间里&#xff0c;在试用过微信微博等中国主流移动App后&#xff0c;总结出的中美App在设计理念上的差异&#xff0c;并对中国移动App UI的发展趋势给出了自己的看法。…

中移动投身开放大潮重整数据业务

在移动互联网的冲击下&#xff0c;中国移动也投身“开放”大潮。这家拥有全球最大移动通信网络&#xff0c;背靠6.4亿用户的运营商&#xff0c;从来没有像现在这么迫切地希望得到产业链尤其是开发者的支持。 “没有一家公司可以把产业链的所有事情从头做到尾。”中国移动总裁李…

中国互联网20年简史

中国互联网20年简史(1998-2018),告诉你本质是什么、规律是什么 先说说互联网几大支柱: 1、内容:新闻&文学、音乐&视频 2、社区+内容 3、游戏 4、电子商务 我们来简单回顾一下中国互联网20年。咱们先从1998年开始。 一、1998年:内容门户元年 1998年2月,张朝…

微软中国突围

文章经授权转载自中国企业家杂志&#xff08;ID&#xff1a;iceo-com-cn&#xff09; 微软第三任CEO萨提亚纳德拉5年来通过大刀阔斧的改革&#xff0c;让微软在全球找回了昔日荣光。中国市场重要而特殊&#xff0c;老问题与新状况交叠&#xff0c;这对44岁的微软来说&#xff0…

我们不再需要3Q大战

2010年11月3日&#xff0c;腾讯作出了一个“艰难的决定”&#xff1a;宣布在装有360软件的电脑上停止运行QQ软件&#xff0c;用户必须卸载360软件才可登录QQ&#xff0c;要求用户“二选一”。 时间久远&#xff0c;很多人可能都已经忘记了&#xff0c;腾讯公告的原文&#xff1…

(附源码)音乐播放小程序 毕业设计 031306

音乐播放小程序 摘 要 随着我国经济迅速发展&#xff0c;人们对手机的需求越来越大&#xff0c;各种手机软件也都在被广泛应用&#xff0c;但是对于手机进行数据信息管理&#xff0c;对于手机的各种软件也是备受用户的喜爱&#xff0c;音乐播放小程序被用户普遍使用&#xff0…

中国移动公司老总上公厕(爆笑)轻松一下地点:公共厕所。

中国移动公司老总上公厕&#xff08;爆笑&#xff09;轻松一下地点:公共厕所。 "干什么的&#xff1f;"看厕所的大婶喊。 "我是中国移动老总&#xff0c;我内急。" "你不知道现在什么都要收费啊&#xff1f;"大婶。 "行&#xff0c;多少钱&…

老外看中国:本土移动应用差异在哪?

Dan Grover 是一名在广州工作的美国人&#xff0c;阴错阳差的成为了微信的产品经理。中国带给他的震撼是巨大的&#xff0c;但因为工作的关系&#xff0c;他对中国的移动应用有了深入的体验。在他看来中国的移动应用有着浓厚的本土化气息&#xff0c;但是在某些方面又优于国外的…