C - 2D Plane 2N Points (arc092_a)

問題

https://atcoder.jp/contests/abc091/tasks/arc092_a

提出

https://atcoder.jp/contests/abc091/submissions/3859736

要素

  • Pointクラス定義
  • 他を見ると、pairでx, yを扱っている人が多かった
  • Pointクラスの比較演算子定義(ソートができるようになる)
  • もう1つ比較関数が必要だったのでstatic関数で定義する
  • vectorにて、findしてからeraseする

感想

  • C問題(400点)にしては、結構書くので実装力が求められる
  • 手元テストでは通ったが提出後WAになって困った
    • 新たに作ったテストケースも通ってしまう
    • コードを見直して「ここ違うくない?」と見つけて修正してAC
    • ローカルACは「たまたま通った」可能性に気をつける

比較関数

class Point{
    ...
 
    static bool sortByY(Point a, Point b){
        if(a.y == b.y){
            return a.x < a.y;
        }else{
            return a.y < b.y;
        }
    }
};