
SDUTACM《程序设计基础II》实验6——动态规划
文章平均质量分 55
SDUTACM《程序设计基础II》实验6——动态规划
程序员豪仔
一个任何事物,除了编程,都喜欢尝试的程序员,豪仔。
展开
-
I - 免费馅饼
Description 都说天上不会掉馅饼,但有一天gameboy正走在回家的小径上,忽然天上掉下大把大把的馅饼。说来gameboy的人品实在是太好了,这馅饼别处都不掉,就掉落在他身旁的10米范围内。馅饼如果掉在了地上当然就不能吃了,所以gameboy马上卸下身上的背包去接。但由于小径两侧都不能站人,所以他只能在小径上接。由于gameboy平时老呆在房间里玩游戏,虽然在游戏中是个身手敏捷的高手,但在现实中运动神经特别迟钝,每秒种只有在移动不超过一米的范围内接住坠落的馅饼。现在给这条小径如图标上坐标: ..原创 2022-03-10 20:26:16 · 114 阅读 · 0 评论 -
J - 走迷宫
Description 有一个m*n格的迷宫(表示有m行、n列),其中有可走的也有不可走的,如果用1表示可以走,0表示不可以走,输入这m*n个数据和起始点、结束点(起始点和结束点都是用两个数据来描述的,分别表示这个点的行号和列号)。现在要你编程找出所有可行的道路,要求所走的路中没有重复的点,走时只能是上下左右四个方向。如果一条路都不可行,则输出相应信息(用-1表示无路)。 Input 第一行是两个数m,n(1< m, n< 15),接下来是m行n列由1和0组成的数据,最后两行是起始点和结束原创 2022-03-10 19:54:57 · 108 阅读 · 0 评论 -
H - 取数字问题
Description 给定M×N的矩阵,其中的每个元素都是-10到10之间的整数。你的任务是从左上角(1,1)走到右下角(M,N),每一步只能够向右或者向下,并且不能够走出矩阵的范围。你所经过的方格里面的数字都必须被选取,请找出一条最合适的道路,使得在路上被选取的数字之和是尽可能小的正整数。 Input 输入第1行是两个整数M和N,(2<=M<=10,2<=N<=10),分别表示矩阵的行和列的数目。接下来M行,每行包括N个整数,就是矩阵中的每一行的N个元素。 Output原创 2022-03-09 22:41:21 · 131 阅读 · 0 评论 -
F - 上升子序列
Description 一个只包含非负整数的序列bi,当b1 < b2 < ... < bS的时候,我们称这个序列是上升的。对于给定的一个序列{a1, a2, ...,aN},我们可以得到一些上升的子序列{ai1, ai2, ..., aiK},这里1 ≤ i1 < i2 <...< iK ≤ N。例如:对于序列{1, 7, 3, 5, 9, 4, 8},有它的一些上升子序列,如{1, 7}, {3, 4, 8}等等。这些子序列中序列和最大的是子序列{1, 3, 5,原创 2022-03-08 22:45:33 · 92 阅读 · 0 评论 -
E - 最长上升子序列
Description 一个数的序列bi,当b1< b2< ... < bS的时候,我们称这个序列是上升的。对于给定的一个序列(a1, a2, ..., aN),我们可以得到一些上升的子序列(ai1, ai2, ..., aiK),这里1<= i1< i2< ... < iK<= N。比如,对于序列(1, 7, 3, 5, 9, 4, 8),有它的一些上升子序列,如(1, 7), (3, 4, 8)等等。这些子序列中最长的长度是4,比如子序列(1,...原创 2022-03-08 21:56:01 · 115 阅读 · 0 评论 -
D - 最长公共子序列问题
Description 给定两个序列 X={x1,x2,…,xm} 和 Y={y1,y2,…,yn},找出X和Y的最长公共子序列。 Input 输入数据有多组,每组有两行 ,每行为一个长度不超过500的字符串(输入全是大写英文字母(A,Z)),表示序列X和Y。 Output 每组输出一行,表示所求得的最长公共子序列的长度,若不存在公共子序列,则输出0。 Sample Input ABCBDAB BDCABA Output 4 ...原创 2022-03-08 18:36:26 · 214 阅读 · 0 评论 -
B - 数字三角形问题
Description 给定一个由n行数字组成的数字三角形如下图所示。试设计一个算法,计算出从三角形的顶至底的一条路径,使该路径经过的数字总和最大。 对于给定的由n行数字组成的数字三角形,计算从三角形的顶至底的路径经过的数字和的最大值。 Input 输入数据的第1行是数字三角形的行数n,1≤n≤100。接下来n行是数字三角形各行中的数字。所有数字在0..99之间。 Output 输出数据只有一个整数,表示计算出的最大值。 Sample Input 5 7 3 8 8 1 0...原创 2022-03-08 16:31:53 · 109 阅读 · 0 评论 -
C - 小鑫去爬山
Description 马上就要放假了,小鑫打算去爬山。 小鑫要去爬的这座山有n个海拔区间。为了清楚描述我们可以从上到下标号1到n。 第i个区间有i个落脚点,每一个落脚点都有一个危险值。 小鑫需要在第n个海拔区间挑选一个点向上爬,爬到第1个海拔区间(也就是山顶)。他必须规划一条路径,让危险值之和最小。这样才安全的。 并不是任意两个落脚点之间都可以相互到达。我们这样定义对于第i个(i<n)区间的第j个落脚点,只有第i+1个区间的第j个和第j+1个可以到达。 你能帮助他找到最安全的路么? I.原创 2022-03-08 16:46:04 · 165 阅读 · 0 评论 -
A - 递归的函数
Description 给定一个函数 f(a, b, c): 如果 a ≤ 0 或 b ≤ 0 或 c ≤ 0 返回值为 1; 如果 a > 20 或 b > 20 或 c > 20 返回值为 f(20, 20, 20); 如果 a < b 并且 b < c 返回f(a, b, c−1) + f(a, b−1, c−1) − f(a, b−1, c); 其它情况返回 f(a−1, b, c) + f(a−1, b−1, c) + f(a−1, b, c−1) − f.原创 2022-03-08 10:02:44 · 279 阅读 · 0 评论