有人可以向我解释为什么在以下解决方案中使用 GCD:
http://www.codechef.com/viewsolution/2849602(用于 c)
http://www.codechef.com/viewsolution/2849324(用于 C++)
对于这个问题: http: //www.codechef.com/ACMKAN13/problems/LINEPROB
狙击手站在 2D XY 平面上的点 (x1, y1)。他从他的位置向点 (x2, y2) 射击。您可以假设所有点都是整数。
考虑由 XY 平面上的整数点形成的 2D 网格。Sniper 和 Target 的位置是这个网格中的格点。狙击手射出的子弹会沿着从 (x1, y1) 到 (x2, y2) 的直线轨迹。子弹不超过(x2,y2)。
考虑当狙击手站在 (1, 1) 并且目标位于 (4, 3) 时子弹的轨迹。
注意子弹的轨迹如何接触 4 个单元格。当且仅当子弹将进入单元格时,才认为该单元格被轨迹触及。子弹的轨迹触及了多少细胞?
 输入
第一行包含一个整数 T,即测试用例的数量。以下 T 行中的每一行都包含一个测试用例。每个测试用例包含 4 个整数 x1、y1、x2 和 y2。整数由单个空格字符分隔。输出
对于每个测试用例,输出一行,其中包含子弹从 (x1, y1) 到 (x2, y2) 的轨迹所触及的细胞数。请记住,当且仅当子弹进入单元格时,才认为一个单元格被弹道接触 - 仅接触一侧是不够的。约束
0 < T < 10100 0 ≤ x1, y1, x2, y2 ≤ 1000000000
样本输入
3 0 0 3 2 0 0 2 2 0 0 1 0
样本输出
4 2 0