できそうなんだけど、それをどういうアルゴリズムでやればいいかわからん、
てのが元の質問だろ。
俺もわからんが。