SP26746 SERGEARS - Gears

题目描述

在平面上安装了一组齿轮。你将获得每个齿轮的中心坐标和半径,这些数据都是整数。你需要确定当转动一个给定的源齿轮时,目标齿轮会有什么反应。可能的结果有以下几种: - 源齿轮无法转动,因为这样会导致某些齿轮在两个方向同时转动。 - 源齿轮可以转动,但它与目标齿轮之间没有连接。 - 源齿轮能以某种比例带动目标齿轮一起转动。 如果源齿轮不能转动,即便它与目标齿轮没有连接,也需将这一结果输出。

输入格式

每组输入表示一个测试用例。注意,程序可能会多次运行于不同的输入集。第一行输入一个整数 $n$(1 ≤ n ≤ 100),表示齿轮的数量。接下来会有 $n$ 行,每行包含三个整数 $x$、$y$ 和 $r$(-10,000 ≤ $x, y$ ≤ 10,000,1 ≤ $r$ ≤ 10,000),分别表示齿轮的轴心位置和半径。假定齿轮的齿设计得当,已包含在半径中,因此只有当两个齿轮相切时才会相互啮合。齿轮间不会重叠。

输出格式

根据以下情况输出一行文字结果: - 输出 `-1` 如果源齿轮无法转动。 - 输出 `0` 如果源齿轮可以转动但与目标齿轮不连通。 - 如果源齿轮能够带动目标齿轮转动,则输出两个用空格分隔的整数 `a b`,表示源齿轮的转动次数与目标齿轮转动次数的最简比 $a : b$。注意: - $a$ 始终为正数。 - 如果目标齿轮与源齿轮转动方向相同,$b$ 为正。 - 如果目标齿轮与源齿轮方向相反,则 $b$ 为负。 ## 数据范围 - 齿轮数量 $1 \leq n \leq 100$ - 坐标范围 $-10,000 \leq x, y \leq 10,000$ - 半径 $1 \leq r \leq 10,000$ **本翻译由 AI 自动生成**