概要
問題文 → ■
公式解説 → 存在するか分からず
提出したら IE になってしまった.2024年8月12日現在,正しくジャッジされていないと思います.
→ 2024年8月21日修正されました.解答例
解法
すべての点が同一直線上だと解はありません.そうでないときに必ず作れます.
まず全点を通るパスを通るだけなら簡単で,例えばペア $(x,y)$ の辞書順でソートして順につなげばよいです.しかしこれでは終点と始点をつなげないので調整が必要です.
凸包上の点を $p$ 適当にとり,その他の点を偏角ソートします.その他の点を偏角ソート順につないだあと,最初と最後の点を $p$ とつなぐことでサイクルにします.
同じ偏角の点については, 偏角最小の点については $p$ に近い方から順に,偏角最大の点については $p$ から遠い方から順に並べることにすればよいです.