Advertisement

方格取数(基于多线程的DP算法)

阅读量:

多线程技术概述

多线程技术的引入旨在通过多个线程的并行运作,实现多项任务的同时处理,从而有效提升系统运行效率。当在同一时刻需要执行多种任务时,线程便被设计用于满足这一需求。

问题描述

问题描述
假设存在一个NN的网格图(N<=10),其中部分网格中填入正整数,其余网格则填入数字0。
某人从左上角的A点(1,1)出发,仅能向右或向下移动,直至抵达右下角的B点(N,N)。在移动过程中,他可以将所在网格中的数值取出(取出后该网格数值变为0)。
此人从A点到B点共行走两次,需要找出两条路径,使得所取得数值之和达到最大值。
输入格式
输入的第一行为一个整数N(表示N
N的网格图),随后每行包含三个整数,前两个代表坐标位置,第三个为该位置上的数值。单独的一行三个0表示输入结束。
输出格式
只需输出一个整数,代表两条路径所取得的最大数值之和。
样例输入
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


详解

需要特别注意的是,矩阵中第i行第0列以及第0行第j列的数值必须设定为0。
采用多线程方式同步进行动态规划计算,可以将其理解为两个人同时在矩阵中移动;
其中i1,j1

全部评论 (0)

还没有任何评论哟~