棋盘分割POJ_一个分割方向的问题
刘老师在讲这里说的第一个for循环是竖着切,从左至右,其中calSum(x1,y1,x2,y2)如下
输入时也是按照二维数组的形式进行输入
那么最上面图中第一个for循环中的c值,就是[a+1][y1]到[x2][y2]构成的矩形内部的分数总和,自增的是矩形的左上角的坐标的x坐标,也就是二维数组的行数,y1不变,二维数组的列数不变,截取出来的矩形就是在变矮的,其实对应老师画的第二个for循环的图,是一个横向切割的;
在参考代码中加几句输出,在第一个for循环里每次都输出一下c和e计算出来的值,也就是截取出来的矩形中数据的总和,数据是8*8的,
可以看到第一次分割后是分成了56和10,全部数据总和为66;"其中一块儿的和“应该是横向切割后"下面一块儿“的数据总和,为56;”另一块儿的和“为10,是横向切割后”上面一块儿“的数据总和;后面的输出是继续切割56的”下面一块儿“,切割成了48和8,这个矩形第一行第一列结果一样,换一下测试数据
现在第二次调用fun的输出是48和9,先输出的依旧是下面一块儿,数据总和48,后输出的9是第二行的
1 1 1 1 1 1 2的和
如有错误感谢指正