博客
关于我
LightOJ - 1077 How Many Points
阅读量:793 次
发布时间:2023-01-31

本文共 654 字,大约阅读时间需要 2 分钟。

给你两个格点,求以它们为端点的线段上有多少个格点

答案为gcd(abs(x1-x2), abs(y1-y2)) + 1

1 #include 
2 #include
3 #include
4 #include
5 #define INF 0x3f3f3f3f 6 using namespace std; 7 typedef long long LL; 8 9 int T;10 LL x1, y1, x2, y2;11 12 LL gcd(LL a, LL b) {13 return b == 0 ? a : gcd(b, a % b);14 }15 16 int main() {17 scanf("%d", &T);18 for (int t = 1; t <= T; t++) {19 scanf("%lld%lld%lld%lld", &x1, &y1, &x2, &y2);20 printf("Case %d: %lld\n", t, 1 + gcd(abs(x1 - x2), abs(y1 - y2)));21 }22 return 0;23 }

 

转载于:https://www.cnblogs.com/xFANx/p/7521271.html

你可能感兴趣的文章