missing a testcase codeforces contest 971 question D satyam and counting

Revision en1, by priyansh_max, 2024-09-13 23:28:17

long t = sc.nextLong();

while (t-- > 0) {
        long n = sc.nextLong();
        int[][] grid = new int[2][(int) (n + 3)];

        long ans = 0;
        for(int i = 0 ; i < n ; i++){
            int v1 = sc.nextInt();
            int v2 = sc.nextInt();

            grid[v2][v1]++;
        }

        for(int i = 0 ; i <= n ; i++){
            if(grid[0][i] > 0 && grid[1][i] > 0){
                ans += (n-2);
            }
        }

        for(int i = 0 ; i <= n ; i++){
            if(grid[0][i] > 0 && i > 0 && i < n-1){
                if(grid[1][i-1] > 0 && grid[1][i+1] > 0){
                    ans += 1;
                }
            }
        }


        for(int i = 0 ; i <= n ; i++){
            if(grid[1][i] != 0 && i > 0 && i < n-1){
                if(grid[0][i-1] != 0 && grid[0][i+1] != 0){
                    ans += 1;
                }
            }
        }

        System.out.println(ans);

    }
}

This is my logic I cant figure out which case am i missing

History

 
 
 
 
Revisions
 
 
  Rev. Lang. By When Δ Comment
en1 English priyansh_max 2024-09-13 23:28:17 1259 Initial revision (published)