ABC168 E - ∙ (Bullet) (500)
A,Bの両方が0のイワシは他のとは同時に選べない
イワシ一覧からは取り除いておく
上のパターンのイワシの分だけ最後に答えの組み合わせに追加する必要がある
それ以外のイワシはA、Bが互いに素になるように割ってからそのペアをmapに追加していく
Aが非負整数になるようにしておく
傾きを小数で持つとdouble型でも精度が足りない
$ (A_i, B_i)のペアのイワシがいたとき、それと一緒に選べないイワシは$ (B_i, -A_i)のペアを持つイワシ
選べるパターンを計算していく
上記の対応して選べないパターンが無いイワシは完全に任意で選べるので最後に掛ける
対応して選べないパターンがあるイワシ達についてはその中で選べるパターンを計算する
片方のペアのイワシがA匹、もう一方のペアがB匹いるとき、これらから選べるパターンは$ 2^A+2^B-1通り
この選び方は他の選べないペア達の選び方とは独立なので選べないペア毎に掛けることができる
すべて選ばないパターンは選択できないので弾いておくことを忘れない様に注意