首页 > 试题广场 >

墙壁划线

[编程题]墙壁划线
  • 热度指数:389 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
\hspace{15pt}一面矩形墙由 a\times b 块完全一致的瓷砖铺成,每块瓷砖尺寸为 x\times y。墙的左上角坐标记为 (0,0),右下角为 (a\!\cdot\!x,\,b\!\cdot\!y)

\hspace{15pt}现从:
\hspace{23pt}\bullet\, 左上角连到右下角;
\hspace{23pt}\bullet\, 右上角连到左下角
\hspace{15pt}各画一条直线。求两条直线与所有瓷砖边界线(即位于 x=ixy=jy\;(i,j\in\mathbb Z) 的网格线)形成的交点总数。

输入描述:
\hspace{15pt}一行输入四个正整数 a,b,x,y\;(1\leqq a,b,x,y\leqq 10^{9})


输出描述:
\hspace{15pt}输出一个整数,表示交点总数。
示例1

输入

2 2 1 1

输出

5

说明

产生5个交点如图所示:

示例2

输入

2 3 2 1

输出

9

说明

产生9个交点如图所示:

这道题你会答吗?花几分钟告诉大家答案吧!