Satan Attacks (AOJ 2368)

http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=2368
実装:30分 デバッグ:15分

問題

解法

まず全ての線分の端点と交点をset,mapに突っ込んでおく。次に各線分に対してsetに突っ込んでいた点が乗っているかチェックして、乗っている場合は距離とその点を保持させる。その後、その点を距離順にソートして容量を決めながら辺を張る。最後に入り口と出口の場所をmapから頂点番号に直して最大流をすれば良い。誤差が怖いので適当に1e+6倍してroundとったりした。