首页 > 试题广场 >

墙壁划线

[编程题]墙壁划线
  • 热度指数:600 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解

某块矩形墙壁由块瓷砖构成,每块瓷砖都是的矩形。现在想要从左上角向右下角,从右上角向左下角划两条直线,请问直线与每块瓷砖的边界线产生的交点共有多少个?


输入描述:

一行四个正整数,墙壁的长有块瓷砖,宽有块瓷砖,瓷砖的长,宽



输出描述:

一个正整数,交点数目。

示例1

输入

2 2 1 1

输出

5

说明

产生5个交点如图所示:

示例2

输入

2 3 2 1

输出

9

说明

产生9个交点如图所示:


备注:
头像 zy还能再战
发表于 2025-05-07 21:20:28
#牛客春招刷题训练营# + 链接首先将问题分解为 \型对角线 加上 /型对角线,这两条线是有交点的,但需要注意交点有可能不在边界交点不在边界时,最终个数是其中一条个数的两倍;交点在边界时,最终个数是其中一条个数的两倍再减1于是可以只分析 \型对角线,此时通过约分 a 和 b 的最大公约数 g 继续分 展开全文
头像 丨阿伟丨
发表于 2025-09-18 12:18:21
题目链接 墙壁划线 题目描述 一块矩形墙壁由 块尺寸为 的瓷砖构成。 现在要从墙壁的左上角向右下角、右上角向左下角划两条对角线。 请问,这两条对角线与所有瓷砖的边界线(包括墙壁外边界)总共产生了多少个交点? 解题思路 这是一个有趣的几何计数问题,其解法不依赖于瓷砖的具体尺寸 和 ,而只与瓷砖的 展开全文
头像 给我中奖吧
发表于 2025-05-08 20:44:48
#include <bits/stdc++.h> using namespace std; using LL = long long; int main() { LL a, b, x, y; cin >> a >> b >> x > 展开全文
头像 扎男_
发表于 2025-05-06 19:42:27
//活动地址: 牛客春招刷题训练营 - 编程打卡活动 #include <bits/stdc++.h> using namespace std; void solve(){ int a,b,x,y; // 这题真 难评.... 直接去看76哥的题解吧 针补费 c 展开全文