描述
题解
由:
|x+y|≡0 mod (2∗a)
|x−y|≡0 mod (2∗b)
可得,
x+y=n∗(2∗a)
x−y=m∗(2∗b)
此时,画一下图就很容易发现,沼泽都是连在一起的,并且都是对角线,两个公式,一个是主对角线组,一个是副对角线组,由于
a
和
可能描述不是特别清晰,画一下图大概就能懂了。这个题是规律题,属于只要弄清楚样例就一定可以 AC 的题,放在 5 <script type="math/tex" id="MathJax-Element-559">5</script> 级题有些夸张了,导致有的人想多了。
代码
#include <iostream>
#include <cmath>
using namespace std;
typedef long long ll;
int main()
{
double a, b, x1, x2, y1, y2;
while (~scanf("%lf%lf%lf%lf%lf%lf", &a, &b, &x1, &y1, &x2, &y2))
{
int n = abs(ceil((x1 + y1) / (2 * a)) - ceil((x2 + y2) / (2 * a)));
int m = abs(ceil((x1 - y1) / (2 * b)) - ceil((x2 - y2) / (2 * b)));
printf("%d\n", max(n, m));
}
return 0;
}