CGL_6_A: Segment Intersections: Manhattan Geometry 続き
とりあえずALDS1_8_CからBinary Search Treeのコードをコピペ
Node
のkey
はなんでも入るようになってるからだいたい全部使える?
標準出力を読みながら保存していく
y座標でソートしたいけどそのままソートするわけではなくて
y軸に平行な線分はふたつのy座標両方で登場してほしくて
しかもそれが同じ線分であることを認識したい
線分はいったん配列に入れて
y座標+線分のインデックスをソートするようにしようか
このときついでに x1 < x2 とか y1 < y2 になるようにしておこう
x軸に平行ならそのまま、
y軸に平行ならy1とy2で1回ずつ登録して
全部登録したらyでソートする
であとはソート結果を順番に見ていくんだけどあとのことを考えると
y軸に平行な線分の登録→交点を数える→y軸に平行な線分の削除の順で
処理しなきゃいけないな
そうなるようにソートできると楽なんだけどうまくやれるだろうか
キーに1,2,3とでも入れておけばいいかな
二分探索するところも、キーが一致するとは限らなくて
キー以上の値が初めて現れるところを見つけないといけない
考慮しないといけないところが多いなあ
何か根っこに近いところで考えて違いしてないだろうか
ちょっと不安になってきた
不安になってきたけど明日早起き&遠出なのでそろそろ切り上げる