プログラム天下一武闘会:Well-Defined 半島

数学的に「半島」を定義する。
半島を根元で切ったとき、切る線の長さをL、切り取る面積をSとする。「半島パラメータ」P=S/L^2 が一番大きくなる切り方で半島部分を決定する。
細いネックがある場合、ネックより若干手前でPは最大になるけどまあよしとしよう。
そんで白黒ビットマップの地図がある場合、ある値以上のPをもつ切り方をすべて列挙する効率のよいコードを書け。
力技なら海岸線のピクセル数の二乗で全部しらべりゃいいけど。それでも面積の計算が面倒かな?