#L20018. 圆上公切线

圆上公切线

问题描述

在平面上有两个圆。

已知:

  • 第一个圆的半径为 r1r_1
  • 第二个圆的半径为 r2r_2
  • 两个圆心之间的距离为 dd

根据两个圆的位置关系,它们的公切线条数会有所不同。

什么是公切线?

如果一条直线同时与两个圆相切,那么这条直线称为这两个圆的公切线。

本题不需要画图,只需要根据两个圆的位置关系判断公切线的条数即可。

什么是绝对值?

一个数的绝对值表示它到 00 的距离,记作 ∣x∣|x|。

例如:

  • ∣5∣=5|5|=5
  • ∣−5∣=5|-5|=5
  • ∣3−7∣=4|3-7|=4

因此:

∣r1−r2∣|r_1-r_2|

表示两个半径之差的绝对值。

两圆的位置关系

设两圆半径分别为 r1,r2r_1,r_2,圆心距离为 dd。

  • 重合:∣r1−r2∣=0|r_1-r_2|=0 且 d=0d=0,公切线有无穷多条;
  • 内含:∣r1−r2∣>d|r_1-r_2|>d,公切线条数为 00;
  • 内切:∣r1−r2∣=d|r_1-r_2|=d,公切线条数为 11;
  • 相交:∣r1−r2∣<d<r1+r2|r_1-r_2|<d<r_1+r_2,公切线条数为 22;
  • 外切:r1+r2=dr_1+r_2=d,公切线条数为 33;
  • 外离:r1+r2<dr_1+r_2<d,公切线条数为 44。

注意:如果满足重合关系,则直接认为是重合,不再判断其他情况。

输入格式

输入一行,包含三个整数 r1,r2,dr_1,r_2,d。

输出格式

输出公切线的条数。

如果公切线有无穷多条,输出:

inf

样例输入 1

1 1 0

样例输出 1

inf

样例输入 2

5 2 1

样例输出 2

0

样例输入 3

5 3 8

样例输出 3

3

说明

建议按照以下顺序判断:

  1. 重合;
  2. 内含;
  3. 内切;
  4. 相交;
  5. 外切;
  6. 外离。

评测数据规模

对于所有数据:

0≤r1,r2,d≤1000 \le r_1,r_2,d \le 100。