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

那就推导一下:

n = 3时,基环树如下:

image-20230913004654078

最小直径显然是1。

n = 4时,基环树如下:

image-20230913004750800

image-20230913004816511

最小直径为2。

n = 5时,基环树如下:

image-20230913004910629

image-20230913004932984

image-20230913005005959

image-20230913005033673

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

image-20230913005112155

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

image-20230913005246804

环中节点数为3,其余节点放到同一个节点上,这样构造到树的直径恒为2。

代码:

_ = int(input())
print(1 + (_ > 3))

Graph Editor (csacademy.com)