博客
关于我
LightOJ - 1077 How Many Points
阅读量:806 次
发布时间: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

你可能感兴趣的文章
MySQL 索引深入解析及优化策略
查看>>
MySQL 索引的面试题总结
查看>>
mysql 索引类型以及创建
查看>>
MySQL 索引连环问题,你能答对几个?
查看>>
Mysql 索引问题集锦
查看>>
Mysql 纵表转换为横表
查看>>
mysql 编译安装 window篇
查看>>
mysql 网络目录_联机目录数据库
查看>>
MySQL 聚簇索引&&二级索引&&辅助索引
查看>>
Mysql 脏页 脏读 脏数据
查看>>
mysql 自增id和UUID做主键性能分析,及最优方案
查看>>
Mysql 自定义函数
查看>>
mysql 行转列 列转行
查看>>
Mysql 表分区
查看>>
mysql 表的操作
查看>>
mysql 视图,视图更新删除
查看>>
MySQL 触发器
查看>>
mysql 让所有IP访问数据库
查看>>
mysql 记录的增删改查
查看>>
MySQL 设置数据库的隔离级别
查看>>