做这题时发现是800分的题,感觉好奇怪,基环树怎么会怎么简单,看题后发现是构造一个满足条件的基环树的最小直径是多少。
那就推导一下:
n = 3时,基环树如下:

最小直径显然是1。
n = 4时,基环树如下:


最小直径为2。
n = 5时,基环树如下:




可以发现,最小直径为2:

对于n > 3的基环树都可以进行这样的构造:

环中节点数为3,其余节点放到同一个节点上,这样构造到树的直径恒为2。
代码:
_ = int(input())
print(1 + (_ > 3))

做这题时发现是800分的题,感觉好奇怪,基环树怎么会怎么简单,看题后发现是构造一个满足条件的基环树的最小直径是多少。
那就推导一下:
n = 3时,基环树如下:

最小直径显然是1。
n = 4时,基环树如下:


最小直径为2。
n = 5时,基环树如下:




可以发现,最小直径为2:

对于n > 3的基环树都可以进行这样的构造:

环中节点数为3,其余节点放到同一个节点上,这样构造到树的直径恒为2。
代码:
_ = int(input())
print(1 + (_ > 3))