白駿14467牛が道路を渡る原因(実施)


题目がかわいいから解いた问题.
これは、この牛の番号と移動を分けて貯蔵すればよい実施である.移動が以前と異なる場合はsum++を使用します.
時間は2秒512 mbに制限されているので、2 Dリストを使用します.(番号を印刷する必要はないので、移動を1次元配列に保存するだけです.でも2次元リストを練習するために、これで解けました…)
0番か1番しか移動しない牛は除外すべきです.
import java.util.*;

public class Main {
    static ArrayList<ArrayList<Integer>> list = new ArrayList<ArrayList<Integer>>();

    public static void main (String[]args){
        Scanner scanner = new Scanner(System.in);
        int n = scanner.nextInt();
        int sum = 0;

        for(int i=0; i<101; i++){
            list.add(new ArrayList<Integer>());
        }

        for(int i=0; i<n; i++){
            int num = scanner.nextInt();
            int dir = scanner.nextInt();

            list.get(num).add(dir);
        }

        for(int i=0; i<101; i++){
            if(!(list.get(i).size() <= 1)){     //해당 인덱스가 1이면 돌아오지 않음.
                int k = list.get(i).get(0);
                for(int j=1; j<list.get(i).size(); j++){
                    if(k != list.get(i).get(j)){
                        k = list.get(i).get(j);
                        sum++;
                    }
                }
            }
        }

        System.out.print(sum);
    }
}