ゆるふわ競プロ

Javaでゆるゆる競プロしています.忘れっぽいのでメモ用,復習用

ABC041 C (Pair)

atcoder.jp

class Pair を定義しようの回でした。(x,y)今回でいうと(出席番号,身長)の組みが与えられてその時に身長順でソートしようという問題です.絶対に(出席番号,身長)の組みを変えてはいけないということです。変えてしまうと自分の身長が他人お身長として登録されてしまうことになります。

そこで今回はPair食らうを定義しました。

class Pair implements Comparable {
    int from;
    int to;

    Pair(int from, int to) {
        this.from = from;
        this.to = to;
    }

    @Override
    public int compareTo(Object other) {
        Pair otherPair = (Pair) other;
        if (this.to == otherPair.to)
            return this.from - this.to;
        return this.to - otherPair.to;
    }
}

前回定義したのと全く同じです。ユーザースニペットに登録しておいたので簡単に持ってこれました。ですが使い方を覚えていなかった。ため復習します。

import java.util.*;

List<Pair> pairs = new ArrayList<Pair>();

//  入力
pairs.add(new Pair(出席番号, 身長));

Collections.sort(pairs);

この4行(入力は繰り返す)を書くとくみを保ったままソートされます。
今回も @overrideなど知ったことねえと言いながらACしていました。