G题(Get the Sum of Square Number):
题意:求n到m的平方和。
一次循环,对每个数的平方进行累加。
J题(Judge the Sorted Order):
题意:判断是否为严格的递减或递增序列。
用两次循环,分别判断是否为递增或递减序列。
注意:递增或递减,都不存在相等的情况。
F题(FatMouse and Java Beans):
题意:求一条符合题意的最大路径。
简单的动态规划,按题意可以走右、下和右下三个方向。但是,我们稍微想下就知道,右下的值绝对小于等于先右再下,或者先下再右,所以我们只要考虑两个方向就可以了,即右或下。
我是先把第一行和第一列的值进行累加(即每个点都是第一个到本点的值的和),然后开始考虑后面的每个点的值,分别把大的加到要到的那个点上,最后输出矩阵的最后一个位置的值,即为题目所求值。即a[r-1][c-1]。核心部分代码如下:
for(i=1; i<r; i++)
{
for(j=1; j<c; j++)
{
if(a[i-1][j]>a[i][j-1])
a[i][j] += a[i-1][j];
else
a[i][j] += a[i][j-1];
}
}