ARC(AtCoder Regular Contest) 030 A - 閉路グラフ

A: 閉路グラフ - AtCoder Regular Contest 030 | AtCoder

[問題]

N個の頂点が円のように線で結ばれて並んでいる。

ここからいつくかの頂点を取り除いて、K個の線分に分割することはできるか?できれば"YES",できなければ"NO"を返す

3<= n <= 10^5

1<= k <= 10^5

 

[回答]

頂点の個数が偶数の場合、一個おきに取り除けば半分(N/2)になる。

奇数の場合、まず1個取り除き、その後一個おきに取り除くと、その半分((N-1)/2)になる。

最大で上記の数に分割できるので、それ以下なら"YES"。それ以外は"NO"

 

[コード](Ruby)

https://paiza.io/projects/07nBvShKF9KTToyITHTg-w

 

[感想]

説明する方がコードより難しい。。。