题目要求从(0,0)像素的左下角到(X,Y)像素的右上角绘制直线,这实际上是从坐标点(0,0)到坐标点(X+1,Y+1)的直线绘制问题。
关键理解:
无限大的像素平面由一个个方块的像素组成,每个像素由X,Y坐标标识位置坐标从0开始,向右边和上面增长
现在从(0,0)像素的左下角朝(X,Y)像素的右上角绘制一条直线
当绘制的直线与像素方块的四边有一个以上交点的时候这个像素方块被涂上颜色,如下面两图所示:
请计算在给定(X,Y)目标像素时,按照以上的涂色算法,,一共被涂色了多少个像素;
输入数据一共只有一行,两个整数X和Y(0<X,Y≤1000000)
输出一个整数,从(0,0)到(X,Y)绘制的直线绘制了多少个像素
输入
3 2
输出
6