题解 | #小红的基环树#
小红的基环树
https://ac.nowcoder.com/acm/problem/253948
做这题时发现是800分的题,感觉好奇怪,基环树怎么会怎么简单,看题后发现是构造一个满足条件的基环树的最小直径是多少。
那就推导一下:
n = 3时,基环树如下:

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


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




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

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

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