如題,每個 x 坐標垂直切一刀,如果有跟三角形相割,都必定會跟至少兩條三角形的邊有交點,取上界的 floor 和下界的 ceil 就能分別得到 x 坐標在此三角形內的最上格子點 & 最下格子點,注意最高只能到 99 最低只能到 1,相減加 1 就能知道這條垂直線上的點數量,加總 x=1 ~ 99 就是答案。
另外這題很考驗精度,不只輸入要另外處理不能直接讀 double,比較最上 & 最下格子點的時候也不能把 double 算出來再去比,要用有理數的方式比較,頗麻煩的,要 AC 還是要花點心思。
如題,每個 x 坐標垂直切一刀,如果有跟三角形相割,都必定會跟至少兩條三角形的邊有交點,取上界的 floor 和下界的 ceil 就能分別得到 x 坐標在此三角形內的最上格子點 & 最下格子點,注意最高只能到 99 最低只能到 1,相減加 1 就能知道這條垂直線上的點數量,加總 x=1 ~ 99 就是答案。
另外這題很考驗精度,不只輸入要另外處理不能直接讀 double,比較最上 & 最下格子點的時候也不能把 double 算出來再去比,要用有理數的方式比較,頗麻煩的,要 AC 還是要花點心思。
https://alan23273850.github.io/Online-Judge-Problems/zerojudge/d135/